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的数据存储方式,网络存储,Volley,Content)