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); //发送数据 } };
相关推荐
HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,它定义了客户端(如Android应用)和服务器之间的通信格式。本篇文章将深入探讨如何在Android中进行HTTP协议的网络编程,并以`HttpTestActivity.java`为...
本示例主要探讨如何在Android应用中利用kotlin的协程(Coroutines)和ksoap2库来实现对WebService的调用,并解决在API 30及以上版本中Handler过时的问题。 一、ksoap2库介绍 ksoap2是一个轻量级的开源库,专为...
在Android平台上,利用Http协议进行文件下载是一项常见的任务,它涉及到网络编程、多线程、文件操作等多个技术领域。本文将深入探讨如何在Android中实现这个功能,主要围绕标题“Android利用Http下载文件”和提供的...
"Android Http协议访问网络实例(3种)" Android Http协议访问网络实例是Android开发中常见的网络交互方式,本篇文章将对Android Http协议访问网络实例进行详细介绍,包括三种方法:HttpConnection、OKHTTP和...
在安卓(Android)平台上,开发应用时经常需要与服务器进行数据交互,而HTTP协议作为互联网上最常用的通信协议之一,是实现这一目标的关键。本文将深入探讨Android源码中的HTTP协议实现,帮助开发者理解其工作原理,...
在Android平台上,通过HTTP协议实现断点续传下载是一项重要的技术,这主要涉及到网络编程、文件操作以及数据存储等多个方面。下面将详细讲解这个过程涉及的知识点。 首先,我们需要了解HTTP协议。HTTP(HyperText ...
标题中的“handler”指的是Android开发中的Handler机制,它是Android异步消息处理的一种方式,用于解决UI线程与后台线程的通信问题。在Android中,主线程(UI线程)不能直接执行耗时操作,否则会导致应用无响应。...
* 对于 Android 5.0 及更高版本,可以使用 setMixedContentMode 方法来允许混合内容。 * 对于 Android 5.0 以下版本,可以使用 WebView 的 setWebViewClient 方法来重写 shouldInterceptRequest 方法,以便将 HTTPS ...
"AndroidYYAssist安卓协议源码"是针对Android平台的一款网络通信协议实现,它提供了高效、可靠的网络通信解决方案。本文将深入探讨这一协议源码,分析其核心机制,以期为Android开发者提供宝贵的参考。 一、协议...
在Android开发中,进行HTTP通信是常见的操作,用于与服务器交换数据。HTTP(超文本传输协议)是一种基于TCP/IP通信协议来交换数据的应用层协议,广泛应用于网页浏览、API交互等场景。本教程将深入讲解如何在Android...
Android网络编程是移动应用开发中的一个重要组成部分,而Http通信则是网络编程中最常用的协议之一。在Android平台上,我们通常会使用HttpURLConnection或者第三方库如Apache HttpClient和OkHttp等进行Http通信。 1....
本项目“android 通过ftp协议访问服务器上的目录,通过listview 展示”就是实现了这样一个功能,允许用户浏览服务器上的目录并展示在ListView中。下面我们将详细讲解这个过程中的关键知识点。 1. FTP协议:FTP是...
本文将深入探讨老罗开发视频中的HTTP协议开发包,以及它在Android开发中的应用。 首先,我们要理解HTTP的基本概念。HTTP是一个基于TCP/IP通信协议来交换数据的应用层协议。它定义了客户端(通常是Web浏览器)与...
在Android平台上,开发一款应用以实现HTTP协议的断点续传下载是一项常见的需求。这个源码资源包提供了详细的实现方式,对于理解网络编程和优化用户体验非常有帮助。在这个项目中,我们将探讨以下几个关键知识点: 1...
它是低级且高效的API,支持HTTP/1.1协议,推荐在新项目中使用。使用`HttpURLConnection`时,你需要手动设置请求方法(GET、POST等),添加请求头,并管理输入/输出流。 2. **HttpClient(已废弃)**: 虽然`...
在Android应用开发中,与服务器进行数据交换是常见的需求,HTTP协议因其简单、灵活的特点,被广泛用于客户端(Android设备)与服务器之间的通信。本文将详细介绍如何在Android中实现HTTP异步通信,以及如何设计相应...