• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Android基于TCP和URL协议的网络编程示例【附demo源码下载】

python 搞代码 4年前 (2022-01-08) 12次浏览 已收录 0个评论

这篇文章主要介绍了Android基于TCP和URL协议的网络编程,结合实例形式分析了Android网络编程的通信原理、实现步骤与相关操作技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下

本文实例讲述了Android基于TCP和URL协议的网络编程。分享给大家供大家参考,具体如下:

手机本身是作为手机终端使用的,因此它的计算能力,存储能力都是有限的。它的主要优势是携带方便,可以随时打开,而且手机通常总是处于联网状态。因此网络支持对于手机应用非常重要。

Android完全支持JDK本身的TCP,UDP网络通信API,也可以使用ServerSocket,Socket来建立基于TCP/IP协议的网络通信,也可以使用DatagramSocket,Datagrampacket来建立基于UDP协议的网络通信。Android也支持JDK提供的URL,URLConnection等网络通信API。Android还内置了HttpClient,和HttpUrlConnection这样可以非常方便地发送HTTP请求,并获取Http响应。

――基于TCP协议的编程

使用Socket,ServerSocket编程:

使用多线程,handler机制完成网络编程.

注意:由于手机无线上网的IP地址通常都是由移动运营公司动态分配的,一般不会有自己固定的IP地址,因此很少在手机上运行服务器端,服务器端通常运行在有固定IP的服务器上。

――访问网络资源必须放在子线程中
――需要添加访问网络的权限
――IP地址,不能写成127.0.0.1.
――使用Handler机制解析返回的数据
――注意解决乱码问题

――使用URL进行网络编程

――使用URL访问网络资源

URL对象代表统一资源定位符。它是指向互联网中的资源。该资源可以使简单的文件或目录。也可以是对更复杂的对象的引用。

URL的格式:protocol://host:port/resourceName

可以使用构造器创建URL对象,一旦获得URL对象,可以调用如下的方法访问该URL对应的资源:

String getFile():获取URL的资源名
String getHost():获取URL的主机名
String getPath():获取URL的路径部分
int getPort():获取URL的端口号
String getProtocol():获取URL的协议名称
String getQuery():获取URL的查询字符串部分
InputStream url.openStream():打开URL的连接,返回一个读取该资源的InputStream。

代码编写:

1.服务器的编写:

使用Socket和ServerSocket:

 public class serverTest { public static void main(String[] args) { try { ServerSocket serverSocket=new ServerSocket(7777); System.out.println("服务器已经在7777端口上启动了"); while (true) { //有阻塞的功能,拿不到socket下面的方法也不会执行 Socket socket=serverSocket.accept(); System.out.println("有客户端发出请求了"); new ServerThread(socket).start(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 

ServerThread继承来源gaodai#ma#com搞@代~码网Thread:

 public class ServerThread extends Thread{ private Socket socket; OutputStream outputStream; public ServerThread(Socket socket) { this.socket=socket; } @Override public void run() { // TODO Auto-generated method stub try { outputStream=socket.getOutputStream(); outputStream.write(("服务器端的时间"+new Date()).getBytes("UTF-8")); outputStream.flush(); outputStream.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } super.run(); } } 

2.客户端的编写:

关键代码:

 public void click(View view){ new Thread(){ public void run() { try { //客户端从服务端获取数据 Socket client=new Socket("169.254.244.141", 7777); BufferedReader bufferedReader= new BufferedReader (new InputStreamReader (client.getInputStream())); String text=bufferedReader.readLine(); //tv.setText(text); //线程复用 Message msg= Message.obtain(); msg.what=0x123; msg.obj=text; handler.sendMessage(msg); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }; }.start(); } 

从服务器端得到时间~

附:完整实例代码点击此处本站下载

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android通信方式总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

以上就是Android基于TCP和URL协议的网络编程示例【附demo源码下载】的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Android基于TCP和URL协议的网络编程示例【附demo源码下载】

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址