`

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协议 网络编程 经典完整代码

    HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,它定义了客户端(如Android应用)和服务器之间的通信格式。本篇文章将深入探讨如何在Android中进行HTTP协议的网络编程,并以`HttpTestActivity.java`为...

    Android利用Http下载文件

    在Android平台上,利用Http协议进行文件下载是一项常见的任务,它涉及到网络编程、多线程、文件操作等多个技术领域。本文将深入探讨如何在Android中实现这个功能,主要围绕标题“Android利用Http下载文件”和提供的...

    Android使用ksoap2+协程+handler实现WebService

    本示例主要探讨如何在Android应用中利用kotlin的协程(Coroutines)和ksoap2库来实现对WebService的调用,并解决在API 30及以上版本中Handler过时的问题。 一、ksoap2库介绍 ksoap2是一个轻量级的开源库,专为...

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

    "Android Http协议访问网络实例(3种)" Android Http协议访问网络实例是Android开发中常见的网络交互方式,本篇文章将对Android Http协议访问网络实例进行详细介绍,包括三种方法:HttpConnection、OKHTTP和...

    安卓Android源码——(Http协议).rar

    在安卓(Android)平台上,开发应用时经常需要与服务器进行数据交互,而HTTP协议作为互联网上最常用的通信协议之一,是实现这一目标的关键。本文将深入探讨Android源码中的HTTP协议实现,帮助开发者理解其工作原理,...

    Android应用源码Android平台下通过HTTP协议实现断点续传下载.zip

    在Android平台上,通过HTTP协议实现断点续传下载是一项重要的技术,这主要涉及到网络编程、文件操作以及数据存储等多个方面。下面将详细讲解这个过程涉及的知识点。 首先,我们需要了解HTTP协议。HTTP(HyperText ...

    handler的使用、服务端客户端交互、Json、Gson

    标题中的“handler”指的是Android开发中的Handler机制,它是Android异步消息处理的一种方式,用于解决UI线程与后台线程的通信问题。在Android中,主线程(UI线程)不能直接执行耗时操作,否则会导致应用无响应。...

    详解android 用webview加载网页(https和http)

    * 对于 Android 5.0 及更高版本,可以使用 setMixedContentMode 方法来允许混合内容。 * 对于 Android 5.0 以下版本,可以使用 WebView 的 setWebViewClient 方法来重写 shouldInterceptRequest 方法,以便将 HTTPS ...

    AndroidYYAssist安卓协议源码

    "AndroidYYAssist安卓协议源码"是针对Android平台的一款网络通信协议实现,它提供了高效、可靠的网络通信解决方案。本文将深入探讨这一协议源码,分析其核心机制,以期为Android开发者提供宝贵的参考。 一、协议...

    android的Http通信

    在Android开发中,进行HTTP通信是常见的操作,用于与服务器交换数据。HTTP(超文本传输协议)是一种基于TCP/IP通信协议来交换数据的应用层协议,广泛应用于网页浏览、API交互等场景。本教程将深入讲解如何在Android...

    Android网络编程之Http通信

    Android网络编程是移动应用开发中的一个重要组成部分,而Http通信则是网络编程中最常用的协议之一。在Android平台上,我们通常会使用HttpURLConnection或者第三方库如Apache HttpClient和OkHttp等进行Http通信。 1....

    android 通过ftp协议访问服务器上的目录,通过listview 展示

    本项目“android 通过ftp协议访问服务器上的目录,通过listview 展示”就是实现了这样一个功能,允许用户浏览服务器上的目录并展示在ListView中。下面我们将详细讲解这个过程中的关键知识点。 1. FTP协议:FTP是...

    老罗开发视频http协议开发包

    本文将深入探讨老罗开发视频中的HTTP协议开发包,以及它在Android开发中的应用。 首先,我们要理解HTTP的基本概念。HTTP是一个基于TCP/IP通信协议来交换数据的应用层协议。它定义了客户端(通常是Web浏览器)与...

    Android应用源码Android平台下通过HTTP协议实现断点续传下载.zip源码资源下载

    在Android平台上,开发一款应用以实现HTTP协议的断点续传下载是一项常见的需求。这个源码资源包提供了详细的实现方式,对于理解网络编程和优化用户体验非常有帮助。在这个项目中,我们将探讨以下几个关键知识点: 1...

    Android Http 访问例程

    它是低级且高效的API,支持HTTP/1.1协议,推荐在新项目中使用。使用`HttpURLConnection`时,你需要手动设置请求方法(GET、POST等),添加请求头,并管理输入/输出流。 2. **HttpClient(已废弃)**: 虽然`...

    android与服务器实现http异步通信

    在Android应用开发中,与服务器进行数据交换是常见的需求,HTTP协议因其简单、灵活的特点,被广泛用于客户端(Android设备)与服务器之间的通信。本文将详细介绍如何在Android中实现HTTP异步通信,以及如何设计相应...

Global site tag (gtag.js) - Google Analytics