Android的数据存储方式(三)
16lz
2021-01-25
ContentProvider(内容提供者)大家可以看去之间的博文:Android四大组件之:ContentProvider
接下来我们来共同学习网络存储数据。
网络存储数据,就是把我们的数据传送到我们的服务器上,比如上传图片,视频,文件夹等。那么今天我来给大家介绍我最常用的一个网络开源框架-- volley 。
Volley是一个第三方开源框架,
有如下的优点:
- 自动调度网络请求;
- 高并发网络连接;
- 通过标准的 HTTP cache coherence(高速缓存一致性)缓存磁盘和内存透明的响应;
- 支持指定请求的优先级;
- 网络请求cancel机制。我们可以取消单个请求,或者指定取消请求队列中的一个区域;
- 框架容易被定制,例如,定制重试或者回退功能;
- 包含了调试与追踪工具;
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 数据存储到这里就结束了,明天我们继续加油!
更多相关文章
- “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
- Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
- Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- 开源Mono框架将C#编程带到iPhone、Android和Wii
- Android网络协议的面试总结
- [置顶] Android(安卓)listview checkbox 再次进入activity 保留c
- android Intent常用介绍
- Android(安卓)RIL的java框架