尝试使用Volley

来源:互联网 发布:linux怎么选中命令复制 编辑:程序博客网 时间:2024/06/05 17:34

最近想在项目中试试Volley,把尝试的东西简单记一下。在百度搜Volley,立刻就有CSDN上大神的文章http://blog.csdn.net/t12x3456/article/details/9221611写的很详细,不过是13年的(我落伍好多的赶脚……)

尝试1:下载Volley。

在github上搜了一下,很多Volley的Demo,不过不太放心,想看看google源码。搜到一个地址,

git clone https://android.googlesource.com/platform/frameworks/volley.git

用Android Studio import一下,OK,源码搞定。

尝试2:打jar包。

同样可以搜到很多教程,如http://www.cnblogs.com/wuya/p/android-studio-gradle-export-jar-assets.html,试验一下发现:
project默认就已经是module了,并且build.gradle中有

apply plugin: 'com.android.library'

OK,去看一下目录 \volley\build\intermediates\bundles下只有debug目录,没关系,gradle build 一下。release有了,找到classes.jar,据说这个就是编译好的volley的jar包了。突然想到版本号的问题,发现没有任何地方标识(可能我没找到……),就把它名名称volley20150523吧。。

尝试3:引入项目。

Android Studio导入jar包很容易:
1、将jar包放入项目里的libs文件夹中。
2、在project选中jar包点击右键”Add as library”。
3、新版的IDE会自动在builde.gradle帮你填好

compile files('libs/volley20150523.jar')

之后就可以用了。

尝试4:使用volley

volley已经很成熟了,教程也非常多,这个大神写的几篇文章就非常清楚。

Android Volley完全解析(一),初识Volley的基本用法
http://blog.csdn.net/guolin_blog/article/details/17482095
Android Volley完全解析(二),使用Volley加载网络图片
http://blog.csdn.net/guolin_blog/article/details/17482165
Android Volley完全解析(三),定制自己的Request
http://blog.csdn.net/guolin_blog/article/details/17612763

当然他还有一篇4,将源码,暂时先不看了,有空再研究。照着第一篇文章试了一下,果然能够打印出百度的html,说明网络请求OK了。

private void test(Context context) {        RequestQueue mQueue = Volley.newRequestQueue(context);        StringRequest stringRequest = new StringRequest("http://www.baidu.com",                new Response.Listener<String>() {                    @Override                    public void onResponse(String response) {                        Log.d(TAG, response);                    }                },                new Response.ErrorListener() {                    @Override                    public void onErrorResponse(VolleyError error) {                        Log.e(TAG, error.getMessage(), error);                    }                });        mQueue.add(stringRequest);    }

2是图片的:

private void test2(Context context) {        RequestQueue mQueue = Volley.newRequestQueue(context);        ImageLoader imageLoader = new ImageLoader(mQueue, new ImageLoader.ImageCache() {            @Override            public void putBitmap(String url, Bitmap bitmap) {            }            @Override            public Bitmap getBitmap(String url) {                return null;            }        });        ImageLoader.ImageListener listener = ImageLoader.getImageListener(imageView, 0, 0);        imageLoader.get("http://img.my.csdn.net/uploads/201404/13/1397393290_5765.jpeg"                , listener);    }

还有一个用法,就是把imageview 换成NetworkImageView,好像稍微简单了点。
但是这玩意儿没用啊,处处使用RequestQueue实在不好用,继续往下看。第三章是讲《定制自己的Request》,主要是针对XML和JSON对Request进行了封装,json的解析用了GSON库,所以很容易就完成了json->object。(回头我好好看一下怎么弄的)

尝试5:将volley实际用在项目中

这里我还是没太想好怎么封装,能更方便的在项目中用volley。。准备试一下在写。

0 0
原创粉丝点击