Android Http请求方法汇总
2015-08-19 00:50
585 查看
这篇文章主要实现了在Android中使用JDK的HttpURLConnection和Apache的HttpClient访问网络资源,服务端采用python+flask编写,使用Servlet太麻烦了。关于Http协议的相关知识,可以在网上查看相关资料。代码比较简单,就不详细解释了。
1. 使用JDK中HttpURLConnection访问网络资源
(1)get请求
注意:因为是通过android模拟器访问本地pc服务端,所以不能使用localhost和127.0.0.1,使用127.0.0.1会访问模拟器自身。Android系统为实现通信将PC的IP设置为10.0.2.2
(2)post请求
如果参数中有中文的话,可以使用下面的方式进行编码解码:
2.使用Apache的HttpClient访问网络资源
(1)get请求
(2)post请求
3.服务端代码实现
上面是采用两种方式的get和post请求的代码,下面来实现服务端的代码编写,使用python+flask真的非常的简单,就一个文件,前提是你得搭建好python+flask的环境,代码如下:
运行服务器,如图:
4. 编写单元测试代码
右击项目:new–》Source Folder取名tests,包名是:com.alexzhou.androidhttp.test(随便取,没有要求),结构如图:
在该包下创建测试类HttpTest,继承自AndroidTestCase。编写这四种方式的测试方法,代码如下:
附上HttpClientTest.java的其他代码:
现在还需要修改Android项目的配置文件AndroidManifest.xml,添加网络访问权限和单元测试的配置,AndroidManifest.xml配置文件的全部代码如下:
注意:
android:name=”android.test.InstrumentationTestRunner”这部分不用更改
android:targetPackage=”com.alexzhou.androidhttp”,填写应用程序的包名
5.测试结果
展开测试类HttpTest,依次选中这四个测试方法,右击:Run As–》Android Junit Test。
(1)运行testExecuteHttpGet,结果如图:
(2)运行testExecuteHttpPost,结果如图:
(3)运行testExecuteGet,结果如图:
(4)运行testExecutePost,结果如图:
1. 使用JDK中HttpURLConnection访问网络资源
(1)get请求
(2)post请求
(1)get请求
上面是采用两种方式的get和post请求的代码,下面来实现服务端的代码编写,使用python+flask真的非常的简单,就一个文件,前提是你得搭建好python+flask的环境,代码如下:
4. 编写单元测试代码
右击项目:new–》Source Folder取名tests,包名是:com.alexzhou.androidhttp.test(随便取,没有要求),结构如图:
在该包下创建测试类HttpTest,继承自AndroidTestCase。编写这四种方式的测试方法,代码如下:
android:name=”android.test.InstrumentationTestRunner”这部分不用更改
android:targetPackage=”com.alexzhou.androidhttp”,填写应用程序的包名
5.测试结果
展开测试类HttpTest,依次选中这四个测试方法,右击:Run As–》Android Junit Test。
(1)运行testExecuteHttpGet,结果如图:
(2)运行testExecuteHttpPost,结果如图:
(3)运行testExecuteGet,结果如图:
(4)运行testExecutePost,结果如图:
相关文章推荐
- HTTP状态码详解
- C#-JudgeSystem判题系统-一个简单的HTTPServer
- 颠覆教育旧生态,重建教育新生态
- 【iOS】网络操作与AFNetworking
- 支付宝通过https异步回调处理
- 高性能网络编程6--reactor反应堆与定时器管理
- 搭建局域网HTTP & FTP服务
- 关于HTTP请求中的媒体类型(参考HTTP权威指南总结)
- 关于TCP连接建立与终止那点事
- git HTTP代理服务器配置
- TCP/IP、Http、Socket的区别
- http和网页设计
- Java网络编程(二)关于Socket的一些个人想法
- (转)同步异步/阻塞非阻塞 和 5种linux网络通信模型
- Java网络编程(一)
- http---response.setHeader()的用法
- Linux&C网络编程————“聊天室”
- 网络硬件学习
- Linux网络编程之基于UDP实现可靠的文件传输示例
- 多线程加载网络图片