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<String>() {
@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);
}
public void Volleydemo_Post(String url){
StringRequest PostRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> map = new HashMap<String,String>();
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<String>() {
中的StringRequest换成其他即可。
这个框架大大方便了我们的网络访问和数据的传输。
初学者到这里就差不多了,更输入的了解大家可以访问:http://www.open-open.com/lib/view/open1451223702339.html
数据存储到这里就结束了,明天我们继续加油!