android|Android的数据存储方式(三)

ContentProvider(内容提供者)大家可以看去之间的博文:Android四大组件之:ContentProvider
接下来我们来共同学习网络存储数据。
网络存储数据,就是把我们的数据传送到我们的服务器上,比如上传图片,视频,文件夹等。那么今天我来给大家介绍我最常用的一个网络开源框架-- volley 。
Volley是一个第三方开源框架,
有如下的优点:

  • 自动调度网络请求;
  • 高并发网络连接;
  • 通过标准的 HTTP cache coherence(高速缓存一致性)缓存磁盘和内存透明的响应;
  • 支持指定请求的优先级;
  • 网络请求cancel机制。我们可以取消单个请求,或者指定取消请求队列中的一个区域;
  • 框架容易被定制,例如,定制重试或者回退功能;
  • 包含了调试与追踪工具;
Volley 不适合用来下载大的数据文件。因为 Volley 会保持在解析的过程中所有的响应。
Volley 适合网络访问频繁,传输数量小。

以上都是比较官方的语言,那么这个如何用,首先先下载 jar 包: http://download.csdn.net/detail/u010049692/7813127
然后要得到一个请求队列(RequestQueue)只需要一个实例即可,所以我们在Application中声明如下
public class MyApplication extends Application { private static RequestQueue queue; @Override public void onCreate() { super.onCreate(); queue = Volley.newRequestQueue(getApplicationContext()); } public static RequestQueue getHttpQueue() { return queue; } }


然后我们就能使用了,先贴代码
StringRequest stringRequest = new StringRequest(url, new Response.Listener() { @Override public void onResponse(String s) { Log.i("Volleytest",s); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) {} }); stringRequest.setTag("Volley_get_demo"); MyApplication.getHttpQueue().add(stringRequest); }


这是GET方式,下面是POST方式
public void Volleydemo_Post(String url){ StringRequest PostRequest = new StringRequest(Request.Method.POST, url, new Response.Listener() { @Override public void onResponse(String s) {} }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) {} }){ @Override protected Map getParams() throws AuthFailureError { Map map = new HashMap(); return map; } }; PostRequest.setTag("Post"); MyApplication.getHttpQueue().add(PostRequest); }


Get和Post不同的地方就在参数,大家一比较就知道。 Volley框架处理StringRequest 还有JsonObjectRequest、JsonArrayRequest、StringRequest,ImageRequest等 使用方法都差不多,只是把
StringRequest PostRequest = new StringRequest(Request.Method.POST, url, new Response.Listener() {

中的StringRequest换成其他即可。 这个框架大大方便了我们的网络访问和数据的传输。 初学者到这里就差不多了,更输入的了解大家可以访问:http://www.open-open.com/lib/view/open1451223702339.html 数据存储到这里就结束了,明天我们继续加油!




【android|Android的数据存储方式(三)】










    推荐阅读