文章分类 -  Android 网络通信开发

摘要:直接上demo代码:MainActivity.javapackage com.example.androidemaildemo;import java.util.Properties;import javax.activation.DataHandler;import javax.activatio... 阅读全文
posted @ 2014-11-11 22:24 MMLoveMeMM 阅读(898) 评论(1) 推荐(0) 编辑
摘要:Google API给出详细用法:http://developer.android.com/reference/android/os/AsyncTask.html在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则: 1. 不要阻塞UI线程 2. 确保只在UI线程中访问Android UI工具包 当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,用户接触屏幕的事件以及屏幕绘图事件,并把相关. 阅读全文
posted @ 2014-03-19 01:08 MMLoveMeMM 阅读(187) 评论(0) 推荐(0) 编辑
摘要:一、Android网络通信 android网络通信一般有三种:java.net.*(标准Java接口)、Org.apache接口和Android.net.*(Android网络接口),涉及包括流、数据包套接字(socket)、Internet协议、常见Http处理等。 1、使用Socket进行通信 Socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。Android Socket开发和JAVA Socket开发类似 无非是创建一个Socket服务端和Socket客户端进行通信。 Socket服务端代码: 1 try{ 2 // 新建服务器S... 阅读全文
posted @ 2014-03-15 17:37 MMLoveMeMM 阅读(356) 评论(0) 推荐(0) 编辑
摘要:本例严重过期,并且使用了不开源且收费的库 请尝试最新开源版: Android基于OpenSL ES,Speex,RTMP的Voip客户端实现 iOS版: iOS基于Audio Queues,Speex,Rtmp的Voip客户端—————-仅供参考请勿用于项目———————– 先说下实现原理,手机采集到语音后进过Speex编码,通过juv以直播形式发布自己的语音流到red5,也是通过juv播放对方的直播流,经过Speex解码后输出到扬声器,如下图: Android端采集编码和解码播放Speex,参考android-recorder,至于他用的red5客户端,看了下,没看明白。。。 JUV这库吧 阅读全文
posted @ 2014-03-13 00:28 MMLoveMeMM 阅读(936) 评论(0) 推荐(0) 编辑
摘要:最近在在研究语音通话的实现,现在把我的实现思路记录在这里。不过,由于初次接触语音通话,所以这是一个简单的思路,也是经过google以及baidu之后的一个学习总结。 我认为一个语音通话系统至少有四个模块。分别是PCM(Pulse Code Modulation,即 脉码编码调制)语音采集,编解码,网络传输以及语音播放。如果算上UI交互的话,就是五个模块了。 整体流程大概是:A打电话给B,A声音通过MIC被采集成PCM原始数据,然后经过编码压缩,再通过网络(建立P2P连接)将编码后的数据传输出去;B端通过网络收到数据后进行解码处理,然后调用播放模块,进行播放数据。 一、语音采集模块 An... 阅读全文
posted @ 2014-03-13 00:24 MMLoveMeMM 阅读(552) 评论(0) 推荐(0) 编辑
摘要:AudioRecord和AudioTrack类是Android获取和播放音频流的重要类,放置在android.media包中。与该包中的MediaRecorder和MediaPlayer类不同,AudioRecord和AudioTrack类在获取和播放音频数据流时无需通过文件保存和文件读取,可以动态地直接获取和播放音频流,在实时处理音频数据流时非常有用。 当然,如果用户只想录音后写入文件或从文件中取得音频流进行播放,那么直接使用MediaRecorder和MediaPlayer类是首选方案,因为这两个类使用非常方便,而且成功率很高。而AudioRecord和AudioTrack类的使用却比较. 阅读全文
posted @ 2014-03-13 00:22 MMLoveMeMM 阅读(635) 评论(0) 推荐(0) 编辑
摘要:android中,联网操作有http连接和socket连接两大类。由于项目需要,我们采取的是Socket连接。鉴于平时连接频繁,因此把Socket连接放到Service里,需要从服务器端获取数据时,只要调用Service中相应方法即可。Service大致结构是:public class InternetService extends Service implements Runnable { private Socket socket; private BufferedReader reader;// private PrintWriter writer;// private Binder b 阅读全文
posted @ 2014-03-12 18:06 MMLoveMeMM 阅读(424) 评论(0) 推荐(0) 编辑
摘要:android的网络编程分为2种:基于socket的,和基于http协议的。基于socket的用法 服务器端: 先启动一个服务器端的socket ServerSocket svr = new ServerSocket(8989); 开始侦听请求 Socket s = svr.accept(); 取得输入和输出 DataInputStream dis = new DataInputStream(s.getInputStream()); DataOutputStream dos = new DataOutputStream(... 阅读全文
posted @ 2014-03-10 13:19 MMLoveMeMM 阅读(259) 评论(0) 推荐(0) 编辑
摘要:在Java中我们可以利用socket编程实现聊天室,在Android中也一样,因为Android完全支持JDK本身的TCP、UDP网络通信API。我们可以使用ServerSocket、Socket来建立基于TCP/IP协议的网络通信;也可以使用DatagramSocket、Datagrampacket、MulticastSocket来建立基于UDP协议的网络通信。下面实现一个简单的聊天室,服务器端完全用Java代码实现,跟Android无关,客户端用Android应用来实现。服务器不断读取来自客户端的信息,并即时地将信息发送给每个连接到本服务器上的客户端,每个客户端可以向服务器发送消息,并不断 阅读全文
posted @ 2014-02-26 01:56 MMLoveMeMM 阅读(582) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示