博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
扩展android-volley来开发Android restful client
阅读量:6421 次
发布时间:2019-06-23

本文共 1799 字,大约阅读时间需要 5 分钟。

hot3.png

代码分享在osc:http://www.oschina.net/code/snippet_207873_33265

Android Restful Client的介绍

请看Google/IO 2010的,年代有些久远了,可能有些不合适,但是仍然有借鉴意义。

关于这个简单的类库

本类库简单的扩展了android-volley这个http异步请求类库,具体来说,提供以下几个功能

  1. 在后台线程进行http请求

  2. api的封装和认证头部的管理

  3. 在后台线程对获得的数据进一步处理,比如持久化到本地的sqlite(可选操作)

  4. 更新ui,在ui线程(可选)

  5. 在ui线程提示请求过程中出现的错误,如果出错了

例子

public class TestActivity extends Activity {  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    // 初始化你的认证header,如果有    // PeanutAPI.init(header);    int method = Request.Method.GET;    String uri = "http://example.org/path";    boolean authRequired = true;    Map
 params = null;    PeanutAPI api = new PeanutAPI(method, uri, authRequired, params);    Volley.newRequestQueue(this).add(new PeanutRequest(        this,        api,        new PeanutProcessor
() { // 可选,如果需要对data进一步处理,此方法调用在后台线程          @Override          public void process(Context context, JSONObject data) throws Exception {            // 对json object进一步处理,比如            // ContentValues values = convert(data);            // context.getContentResolver().insert(...);          }        },        new Response.Listener
() { // 可选,如果需要更新ui          @Override          public void onResponse(JSONObject response) {            Toast.makeText(TestActivity.this, response.toString(), Toast.LENGTH_SHORT).show();          }        },        new Response.ErrorListener() { // 必选,告知用户请求出了问题          @Override          public void onErrorResponse(VolleyError error) {             Toast.makeText(TestActivity.this, error.getLocalizedMessage(), Toast.LENGTH_SHORT).show();          }        }    ));  }}

其它

除了json object,peanut还提供了json array的处理,基本类似,事实上,你可以任意扩展volley的Request来满足自己的需要,可以参考PeanutRequest的实现

转载于:https://my.oschina.net/longkai/blog/200345

你可能感兴趣的文章
vss团队开发工具使用(个人学习心得)
查看>>
Load Balance 产品横向比较
查看>>
Java代理程序实现web方式管理邮件组成员
查看>>
【编译打包】tengine 1.5.1 SRPM
查看>>
看图说话:手动清除病毒文件流程
查看>>
一句话下拖库
查看>>
Deploy Office Communications Server 2007R2 Group Chat Server(二)
查看>>
在Cacti上实现MSN报警机制
查看>>
如何对C++虚基类构造函数
查看>>
XFire WebService开发快速起步
查看>>
JavaScript 函数replace揭秘
查看>>
QTP解决内嵌IE窗体方法2
查看>>
“王子”的演讲:N828印象
查看>>
判断JS字符串中是否包含某些字符
查看>>
Phalanger---PHP的.NET编译器
查看>>
Scanner----java控制台和文件读取的利器(java 5新增)
查看>>
怎样解决spoolsv.exe应用程序错误
查看>>
Android应用程序键盘(Keyboard)消息处理机制分析(25)
查看>>
如何安全设定和检测你的密码安全性?
查看>>
一例HP ADG数据恢复成功(8×73GB SCSI)
查看>>