项目用到的东西:
volley 网络框架(以前用Asych-task-http)
picasso 图片加载框架
recycleview 代替了ListView
SwipeRefreshLayout 代替了PullToRefresh 开源下拉刷新组件
butterknife 注解框架
信鸽推送,新浪微博分享,微信分享。
mvp 模式开发
从eclipse 迁移到android studio
---------------------------------------------
待写
---------------------------------------------
其他库
PhotoView放大缩小的图片处理库
jackson, json解析库
ZXing二维码识别库
一:一个网络请求包含什么信息呢?
MyAndroidClient{
url 请求地址 String
handler 请求处理器 Handler
Context 请求标记 Activity
param 请求协议数据 自定义
{
ID //协议id
requestdata //请求数据
responsedata //响应数据
packData(); //打包请求数据
unPackData();//解析返回数据
}
}
二:发送网络请求
//提交一个runnable对象表示一个网络任务,并返回一个future对象表示这个任务。
听起来绕,实际上就是Future代表当前任务。
//Future request = threadPool.submit(new Runnable(new MyAndroidClient(xxx...)));
Future<?> request = threadPool.submit(new AsyncHttpRequest(client, httpContext, uriRequest, responseHandler));
if(context != null) {
// 把这个网络任务记录在map中
List<WeakReference<Future<?>>> requestList = requestMap.get(context);
if(requestList == null) {
requestList = new LinkedList<WeakReference<Future<?>>>();
requestMap.put(context, requestList);
}
requestList.add(new WeakReference<Future<?>>(request));
}
三:
集合里面存放弱引用 ,这种思想 要学习一下,以后可能有其他应用场景。
requestList.add(new WeakReference<Future<?>>(request));