Android笔记 (2): 创建应用、Volley、Postman

本来想先写反编译系列,但是拿别人的应用(如360优化大师等)来作为案列,感觉并不适合,因此在反编译系列之前,先做一个简单的应用,其中包括:FastJson,Volley等库,同时实现Volley库的封装。

该项目的目的是作为反编译系列的素材。

创建项目

《Android笔记 (2): 创建应用、Volley、Postman》 输入包名等信息
《Android笔记 (2): 创建应用、Volley、Postman》 下一步选API 14

到下一步选择新建一个Empty Activity,然后Next,出现如下界面,直接Finish。(这一步不重要,也可以在项目建好后自己生成。)

《Android笔记 (2): 创建应用、Volley、Postman》 自动创建MainActivity

在Android Stuido中,我比较喜欢Project视图,更接近文件系统目录结构。

《Android笔记 (2): 创建应用、Volley、Postman》 选择”Project”

Android Studio项目目录结构介绍 – OPEN 开发经验库

引入Volley

既然该项目中用到Volley,那学习地址必不可少了。
网络请求库Volley详解 – 泡在网上的日子

这里引用最新的Volley,将下面一行代码加入到VolleyDemo/app/build.gradle中的dependencies里。

compile 'com.mcxiaoke.volley:library:1.0.19'

Volley 简单使用

既然是有网络请求,那么别忘了给AndroidManifest.xml加上网络权限。

<uses-permission android:name="android.permission.INTERNET" />

在MainActivity中添加如下方法:

private void initData() {
    String url = "http://www.baidu.com/";
    StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
        @Override
        public void onResponse(String s) {
            Log.d("demo", "response = " + s);
        } 
   }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError volleyError) {
            Log.e("demo", "onErrorResponse: " + volleyError.getMessage());
        }
    }); 
   Volley.newRequestQueue(this).add(request);
}

onCreate方法中调用即可。

@Overrideprotected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initData();
}

编译运行发现流程已经跑通。代码比较简单,不过多解释。

《Android笔记 (2): 创建应用、Volley、Postman》 log截图

数据来源

通过上面的验证,数据流已经OK,现在要开始拿真正的数据来做事情了。
因为项目比较简单,单独做个服务端比较浪费资源。因此这里我用Android应用架构之Retrofit使用文章中提到的 http://ip.taobao.com/service/getIpInfo.php?ip=21.22.11.33 来作为实例使用。
发出一个简单的http GET请求,即可获得服务器返回的数据,在浏览器上访问同理。但是,如果碰到需要Post请求的接口怎么办?如果通过写代码调用API,是可以做到,但是个人感觉太麻烦了。因此这里提一下api测试中的一种便利工具:PostMan。

PostMan

如何在Chrome下使用Postman进行rest请求测试

分别在浏览器和浏览器和Postman上请求上面的接口

《Android笔记 (2): 创建应用、Volley、Postman》 浏览器上得到的结果
《Android笔记 (2): 创建应用、Volley、Postman》 Postman得到的结果

通过该图可以发现Postman的功能还是很强大的,无论是请求类型,设置Header,Params都非常方便。推荐大家使用该工具来做接口测试。

现在将代码中的url设置为

http://ip.taobao.com/service/getIpInfo.php?ip=21.22.11.33。

编译运行,打出log:

04-02 17:08:33.403 13181-13181/? D/demo: response = {"code":0,"data":{"country":"\u7f8e\u56fd","country_id":"US","area":"","area_id":"","region":"","region_id":"","city":"","city_id":"","county":"","county_id":"","isp":"","isp_id":"","ip":"21.22.11.33"}}

至此,通过volley调用上面的接口已经完成。

    原文作者:joyin5344
    原文地址: https://www.jianshu.com/p/44803bfda9a8
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞