`

Android Http协议及Handler

阅读更多

      Http消息类型分为:请求(Request)消息,响应(Response)消息

      Http请求消息结构:包括(请求行(第一行),报头行(后面多行),空格换行(CRLF),可选实体)

         Full-Request = Request-Line

                                   *(General-Header

                                   | Request-Header

                                  | Entity-Header)

                               CRLF

                            [Entity-Body]

      实例:GET  /servlet/Servletform??format=json  HTTP/1.1      //请求行,GET提交方法参数放在请求                                              行,POST提交参 数放在实体。?前是响应请求的servlet所在路径,?后是参数

                 Connection:close

                 Host: localhost:8080                               //链接地址,此行必须有,其他可选

                 User-agent:Mozilla/4.0

                 Accept-Encoding:gzip,compress

                 Accept-language:en

                 CR LF                                                    //空格换行

                  Entity-Body                                           //实体

         Http响应消息结构:状态行(status line)、报头和实体主体三部分组成。

                  Full-Response =Status-Line

                                               *(General-Header

                                            | Response-Header

                                            | Entity-Header)

                                             CRLF

                                           [Entity-Body]

        实例: HTTP/1.1 200 OK                                 //200表示连接成功

           Connection:close 

                 Date: Thu, 13 Oct 2005 03:17:33 GMT //服务器创建并发送本响应消息的日期和时间

                 Server: Apache/2.0.54 (Unix)                    //服务器类型

                    Last—Nodified:Mon,22 Jun 1998 09;23;24 GMT 

                 Content—Length:682l 

 

    一般进行http请求运用架包就省去很多http协议组建的麻烦。(架包已上传)

       

public void conn(){ //自定义方法进行http请求
		AsyncHttpClient client = new AsyncHttpClient();
		RequestParams rp = new RequestParams();   //用于包装要传递的数据
		rp.put("username","fb");
		rp.put("password","181818");
		
      // client.post("Http://192.168.1.116:8080/get/servlet/TestServlet?format=json", responseHandler
 //进行get请求
client.get("Http://10.0.2.2:8080/servletExample/servlet/Servletform?format=json",rp,new JsonHttpResponseHandler(){ 
	@Override
	public void onSuccess(int statusCode, Header[] headers,JSONArray respons e) {    //请求成功后返回 JSONArray数据。然后进行相应操作(onSuccess方法可选用)

	super.onSuccess(statusCode, headers, response);  
         //进行相应操作  
      }
	@Override
	public void onSuccess(int statusCode, Header[] headers,
	JSONObject response) {	//请求成功返回JSONObject数据			
	super.onSuccess(statusCode, headers, response);
				
	}
    });
}
 

 

Handler

andriod提供了Handler 和 Looper 来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。

  Handler可以使得其他线程能够获取修改Actiyity里面的数据。

   实例:

private Handler h=new Handler(){
		public void handleMessage(Message msg) {
			super.handleMessage(msg);
			switch(msg.what){
			case TRIM_MEMORY_BACKGROUND:
				test.setText(msg.getData().getString("fb"));
				break;
			}
		};
	};
Runnable r=new Runnable() {
  public void run() {			
	Message   s=h.obtainMessage(TRIM_MEMORY_BACKGROUND)
	 Bundle b=new Bundle();
	b.putString("fb","good");  //绑定数据
	s.setData(b);
	h.sendMessage(s);  //发送数据			
		}
	};

 

分享到:
评论

相关推荐

    Android Http协议访问网络实例(3种)

    之前关于Android Http协议访问网络的一点分析,最近需要回顾,就顺便发到随笔上了 Android中http连接主要是为了获取网络数据,目前了解的有3种方法: Httpconnection ——本人常用 OKHTTP——看见过(需要在依赖...

    Eclipse+ jetty+android+websocket协议整合

    Eclipse+ jetty+android+websocket协议整合 这里介绍了怎么安装jett插件,...对于android客户端发送websocket协议数据:要注意导入必须包,全局中配置联网权限,发送前连接延时,服务器地址,接收数据处理使用Handler。

    Android网络编程 非常适合入门

    Android网路编程代码 设计客户端和服务器端通信 适合初学者学习 当然其中包括很多其他知识点 例如基于handler的主副线程通信机制 多线程应用等 另外 对于Android入门的学习者 也是一手极好的学习资料 下载即可运行 ...

    老罗android开发视频教程全集百度网盘下载

    【第一版第三章】老罗Android开发视频--HTTP协议编程(4集) 【第一版第四章】老罗Android开发视频--解析XML数据(3集) 【第一版第五章】老罗Android开发视频--解析JSON数据(4集) 【第一版第六章】老罗Android...

    老罗android视频开发源码和ppt经典

    四、Android之http协议编程 4.1 http协议的介绍 4.2 http协议GET方式获取图片 4.3 http使用Post方式进行提交数据 4.4 http使用apache工具类提交数据 五、 Android解析json数据 5.1 android解析json数据(一) 5.2 ...

    android复习提纲

    android复习题纲 a)掌握Android的常用布局: b)掌握Android的事件处理方式:基于监听(五种使用...e)了解Android网络编程:TCP和HTTP协议及其使用场合 f)掌握Android网络编程:使用WebView浏览网页,HTTPClient下载网页

    Android使用http协议与服务器通信的实例

    网上介绍Android上http通信的文章很多,不过大部分只给出了实现代码的片段,一些注意事项和如何设计一个合理的类用来处理所有的http请求以及返回结果,一般都不会提及。因此,自己对此做了些总结,给出了我的一个...

    疯狂Android讲义源码

     1.1.2 Android平台架构及特性 3  1.2 搭建Android开发环境 5  1.2.1 下载和安装Android SDK 5  1.2.2 安装Eclipse和ADT插件 7  1.3 Android常用开发工具的用法 10  1.3.1 创建、删除和浏览AVD 10  1.3.2 ...

    android开发秘籍

    2.1.2 工程目录结构及自动生成内容 20 2.1.3 android 包和manifest 清单文件 22 2.1.4 重命名应用程序中的部分文件 23 2.2 activity 的生命周期 23 2.2.1 秘诀2:使用其他的生命周期方法 24 2.2.2 秘诀3:强制...

    android notification of download apk

    类型:NotificationDemo 功能:从网上下载apk存储到手机指定目录,并在通知栏里显示其下载进度,如果下载错误,或者不想要该apk可以删除 ...文件流、网络下载链接协议、读写权限、Handler、Notification、跑马灯

    Android实例代码

    13.1、基于TCP协议的网络通信(套接字Socket):Socket; ServerSocket; 13.2、使用URL访问网络资源:URL; URLConnection; 13.3、使用HTTP访问网络:HttpURLConnection; HttpClient; 13.4、使用WebView视图显示网页...

    疯狂Android讲义(第2版)源代码 第6章~第9章

    13.1、基于TCP协议的网络通信(套接字Socket):Socket; ServerSocket; 13.2、使用URL访问网络资源:URL; URLConnection; 13.3、使用HTTP访问网络:HttpURLConnection; HttpClient; 13.4、使用WebView视图显示网页...

    疯狂Android讲义.part2

    1.1.2 Android平台架构及特性 3 1.2 搭建Android开发环境 5 1.2.1 下载和安装Android SDK 5 1.2.2 安装Eclipse和ADT插件 7 1.3 Android常用开发工具的用法 10 1.3.1 创建、删除和浏览AVD 10 1.3.2 使用Android模拟器...

    疯狂Android讲义.part1

    1.1.2 Android平台架构及特性 3 1.2 搭建Android开发环境 5 1.2.1 下载和安装Android SDK 5 1.2.2 安装Eclipse和ADT插件 7 1.3 Android常用开发工具的用法 10 1.3.1 创建、删除和浏览AVD 10 1.3.2 使用Android模拟器...

    基于TCPIP~Android客户端与PC通信源码.zip

    基于TCP~socket,Android客户端与PC通信,客户端源码。已经测试,可用。附带apk,和网络调试助手,方便测试。只需提供服务器的IP和端口号,即可通信。 客户端:一次连接,可发送多次数据。 重点是客户端时时接收...

    jack netty 5,适用与android和服务器.rar

    "快速和简单"并不意味着应用程序会有难维护和性能低的问题,Netty是一个精心设计的框架,它从许多协议的实现中吸收了很多的经验比如FTP、SMTP、HTTP、许多二进制和基于文本的传统协议,Netty在不降低开发效率、性能...

    ICMP协议仿真C++代码

    ICMP协议仿真C++代码,// TODO: Add your command handler code here if (IsRun) { MessageBox("网络监测时,不能网段探测!","提示"); return; } CNetIpDlg dlg; if(dlg.DoModal()==IDOK) { char ...

Global site tag (gtag.js) - Google Analytics