Android 的网络编程

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(s.getOutputStream());

  Socket 的交互通过流来完成,即是说传送的字节流,因此任何文件都可以在上面传送。谁打开的记得要关上。

  用DataInputStream/DataOutputStream来进行包装是因为我们想要他们对基本数据类型的读写功能readInt(),writeInt(),readUTF(),writeUTF()等等。

  客户端:

  发起一个socket连接      Socket s = new Socket("192.168.1.200",8989);

  取得输入和输出        DataInputStream dis = new DataInputStream(s.getInputStream());

                 DataOutputStream dos = new DataOutputStream(s.getOutputStream());

  之后就可以相互通信了。谁打开的记得要关上。

基于Http协议

  一般是发送请求到某个应用服务器。此时需要用到HttpURLConnection

  先取得HttpURLConnection urlConn = new URL("http://www.google.com").openConnection();

  设置标志 

    urlConn.setDoOutput(true);  urlConn.setDoInput(true);//post的情况下需要设置DoOutput为true

    urlConn.setRequestMethod("POST");

    urlConn.setUseCache(false);//设置是否用缓存

    urlConn.setRequestProperty("Content-type","application/x-www-form-urlencoded");//设置content-type

  获得输出流,便于想服务器发送信息。

    DataOutputStream dos = new DataOutputStream(urlConn.getOutputStream());

  望流里面写请求参数

    dos.writeBytes("name="+URLEncoder.encode("chenmouren","gb2312");

    dos.flush();dos.close();//发送完后马上关闭。

  获得输入流,取数据

    BufferReader reader = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));

    reader.readLine();//用 !=null来判断是否结束

    reader.close();

  读完了记得关闭connection  urlConn.disconnect();

流程记录就到此为止。

时间: 2024-12-26 01:39:32

Android 的网络编程的相关文章

Android利用网络编程HttpClient批量上传(一个)

请尊重他人的劳动成果.转载请注明出处:Android网络编程之使用HttpClient批量上传文件 我曾在<Android网络编程之使用HTTP訪问网络资源>一文中介绍过HttpCient的使用,这里就不在累述了,感兴趣的朋友能够去看一下.在这里主要介绍怎样通过HttpClient实现文件上传. 1.预备知识: 在HttpCient4.3之前上传文件主要使用MultipartEntity这个类,但如今这个类已经不在推荐使用了. 随之替代它的类是MultipartEntityBuilder. 以

Android中网络编程以及与服务器上Web项目的基础交互

该博文中内容通过老师上课的内容对于Android下的网络通信编程等内容进行总结: 1.Android网络编程初识 2.Android实现HTML源码查看 3.Android实现网络图片查看 4.Android实现与服务器上JavaWeb项目交互 1.Android网络编程初识 Android手机终端作为客户端发送Http请求到终端服务器上,并且当发送请求到服务器,如果请求成功,响应码:200:服务器会通过客户端返回请求并且处理后的信息数据,一般情况下,在正式项目中多用JSON,不会使用没有规定格

android之网络编程

注意: (1)主线程不能够做耗时的操作,网络请求就是耗时的操作需要放到子线程做. (2)子线程不能更新控件的内容(更新Ui).所以产生了矛盾,解决办法就是使用Handler(处理消息机制). Handler:消息机制的写法(重要)  使用Handler的步骤: 1.主线程中创建一个Handler private Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { }; }; 2.

Android网络编程网上文章总结

关于网络编程,网上也有许多好的文章,这里我就选了几篇觉得不错的归纳到了一起,仅供参考 Android网络编程概述 首先,应该了解的几个问题: 1)Android平台网络相关API接口 a) java.net.*(标准Java接口) java.net.*提供与联网有关的类,包括流.数据包套接字(socket).Internet协议.常见Http处理等.比如:创建URL,以及URLConnection/HttpURLConnection对象.设置链接参数.链接到服务器.向服务器写数据.从服务器读取数

漫谈Android网络编程

Android从业者,十之八九都是在做网络应用,不是互联网也是局域网.如今在4G和Wifi的天下下,流量什么的都已是浮云,单机应用的市场已然悄悄的一去不复返了.所以呢,不了解网络请求的同学要小心了,当心被时代的大浪一个浪头排在沙滩上. Android实现网络编程有HTTP.也有Socket.HTTP协议是应用层协议,主要解决如何包装数据,网络应用都会用到的协议:Socket是TCP/IP协议的封装,主要解决数据如何在网络中传输,常用于与服务器保持长连接,一般用于广告推送.实时聊天.在线游戏等.

Android网络编程 知识框架

http://blog.csdn.net/wolf09311/article/details/41012379 1)Android平台网络相关API接口 a) java.net.*(标准Java接口) java.net.* 提供与联网有关的类,包括流.数据包套接字(socket).Internet协议.常见Http处理等.比如:创建URL,以及 URLConnection/HttpURLConnection对象.设置链接参数.链接到服务器.向服务器写数据.从服务器读取数据等通信.这些在 Java

Android网络编程概述

Android网络编程概述 首先,应该了解的几个问题: 1)Android平台网络相关API接口 a) java.net.*(标准Java接口) java.net.*提供与联网有关的类,包括流.数据包套接字(socket).Internet协议.常见Http处理等.比如:创建URL,以及URLConnection/HttpURLConnection对象.设置链接参数.链接到服务器.向服务器写数据.从服务器读取数据等通信.这些在Java网络编程中均有涉及. b) Org.apache接口 对于大部

[转载]Android网络编程(一)

Android网络编程概述 首先,应该了解的几个问题: 1)Android平台网络相关API接口 a) java.net.*(标准Java接口) java.net.*提供与联网有关的类,包括流.数据包套接字(socket).Internet协议.常见Http处理等.比如:创建URL,以及URLConnection/HttpURLConnection对象.设置链接参数.链接到服务器.向服务器写数据.从服务器读取数据等通信.这些在Java网络编程中均有涉及. b) Org.apache接口 对于大部

android基础(五)网络编程

android 的网络编程一般可以分为两种:基于Socket的,基于Http的. 一.socket与Http socket封装了TCP/IP协议,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输.socket通信方式是当服务器端与客户端建立起了socket连接后,服务器端可以直接将数据传输到客户端.(建立socket连接:建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket .套接字之间的连接过