基于Volley学习使用AndroidSudio的三种添加依赖的方式和自己编译生成jar包
1.1.1 Volley简介
volley 是 Goole I/O 2013上发布的网络通信库,使网络通信更快、更简单、更健壮。关键词:数据不大但通信频繁。
1.1.2 Volley提供的功能
1. Json,图像等异步下载
2. 网络请求的排序(scheduling)
3. 网络请求的优先级处理
4. 缓存
5. 多级别取消请求
6. Activity 的生命周期联动(Activity 结束时同时取消所有网络请求)
1.1.3 添加Volley依赖
创建Android库:
相关网站https://developer.android.com/studio/projects/android-library.html
http://m.2cto.com/kf/201605/508376.html
volley官网:https://android.googlesource.com/platform/frameworks/volley
1.1.3.1 Gradle方式
dependencies {
compile 'com.android.volley:volley:1.0.0'
}
这种方式简便高效,但是这里的文件不能修改。
1.1.3.2 Module方式
就是Local Library,将Volley Library的相关源文件下到本地,通过AndroidStudio的improt module操作进行导入。然后添加相关依赖。
下载volley源码,如果你的电脑上装有Git,可以使用如下命令下载Volley的源码:git clone https://android.googlesource.com/platform/frameworks/volley ,没有装Git的话,可以去GitHub下载。下载完成如下图。
由于下载的项目是Eclipse项目所以使用Module方式导入的时候需要选在ImportEclipse ADT Project,再下一个页面选择Volley源码目录。
点击file中的ProjectStructure可以看到volley已经添加到了Module中。如图再app的Dependencies中以Module的方式添加它就可以了。如下图所示。
1.1.3.3 File方式
这种方式就类似于我们使用Eclipse的时候添加jar包的操作。目前我看到的都是jar文件(估计还有别的可以添加的文件),即把相关文件拷到libs文件夹下(切换到Project模式),然后在操作界面添加File依赖。会显示出本项目中存在的jar文件(可添加的文件)按照提示添加即可。
但是如何得到volley.jar文件呢,可以通过网络搜索得到(搜的我头疼),也可以自己编译生成(感觉更靠谱)。参考链接http://blog.****.net/ta893115871/article/details/46955791/#t3
其实方式就是通过方法2,Module的方式添加依赖后Make Project,再Project视图下volley文件夹的bulid->intermediates->bundles->default下的classes.jar文件。得到.jar文件后就可以使用方法3来添加依赖了。
1.1.4 Volley用法
1. 创建一个RequestQueue对象。
RequestQueue mQueue =Volley.newRequestQueue(this);
2. 创建一个StringRequest对象。
StringRequest stringRequest =newStringRequest("http://www.baidu.com",
new Response.Listener<String>(){
@Override
public void onResponse(String response) {
Log.d(TAG, response);
}
}, newResponse.ErrorListener() {
@Override
publicvoid onErrorResponse(VolleyError error) {
Log.e(TAG, error.getMessage(), error);
}
});
3. 将StringRequest对象添加到RequestQueue里面。
mQueue.add(stringRequest);
1.1.5 Volley封装
定义一个ApiHttpClient类,以字符串的方式声明所有的Api,声明mRequestQueue,每个Api的StringRequest请求都放在一个静态的公共方法里,通过外部类来调用这个方法来访问Api。