Android 网络访问框架 NiceDay 发布
来源:互联网 发布:flash player修复软件 编辑:程序博客网 时间:2024/04/25 23:11
Android 网络访问框架 NiceDay 发布
针对 android C/S架构的客户端,经常访问网络的需求,开发了一个独立的框架处理所有的网络请求。达到以下几个目标:
1、所有的网络请求都是异步的
2、所有的网络请求都是可以控制的。
3、所有的网络请求都是可以随时终止的
4、当activity暂停或者停止的时候可以根据需求决定是否取消之前的请求
5、当activity结束的时候清理请求资源
6、当系统内存比较低到时候,自动关闭所有网络请求,自动重启网络
7、控制系统线程的并发数量,防止大并发导致内存溢出
8、设置网络访问队列,保证网络访问高效、有序
......................等待您的完善....................
取名 :NiceDay ,就是想程序员的每一天都是开心快乐的!不做重复工作!大家贡献,大家快乐!
现在该项目已经开源,欢迎热爱编程的Coder ,Down下来代码之后维护代码,造福Androider ......
代码托管在 googleCode上
下载地址:
http://code.google.com/p/niceday/
SVN:
http://niceday.googlecode.com/svn/trunk/
使用代码例子:
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
list = (ListView)findViewById(R.id.list);
/**
* 开始请求网络 http://files.cnblogs.com/meiyitianabc/netlib.css
*/
httpget1 =
new
AsyncHttpGet(
new
DefaultParseHandler(),
"http://files.cnblogs.com/meiyitian/netlib.css"
,
null
,
new
RequestResultCallback(){
@SuppressWarnings
(
"unchecked"
)
@Override
public
void
onSuccess(Object o) {
try
{
SimpleExampleActivity.
this
.listData = (ArrayList<HashMap<String, Integer>>)o;
SimpleExampleActivity.
this
.mHandler.sendEmptyMessage(
0
);
Log.d(SimpleExampleActivity.
class
.getName(),
"MainActivity onSuccess"
);
}
catch
(Exception e){
Log.d(SimpleExampleActivity.
class
.getName(),
"MainActivity onSuccess Exception ,"
+e.getMessage());
e.printStackTrace();
}
}
@Override
public
void
onFail(Exception e) {
// TODO Auto-generated method stub
}
});
Log.i(SimpleExampleActivity.
class
.getName(),
"MainActivity"
);
DefaultThreadPool.getInstance().execute(httpget1);
this
.requestList.add(httpget1);
}
一个请求就这样简单,可控。
代码解释:
<span
class
=
"Apple-style-span"
style=
"font-size: 15px; line-height: 22px;"
><br></span>
AsyncHttpGet 是一个异步httpget对象,参数分别是
1、返回数据处理器handler,在这里可以根据自己的业务逻辑,实现自己的解析逻辑返回给UI
2、网址
3、请求参数(可为空) - 一个list包装的 RequestParameter 类型
4、回调函数
有了一个HttpGet对象之后,执行的时候把他丢到线程池里面去就会执行。
this.requestList.add(httpget1);这句的意思,如果想控制请求,可以把他加到该activity的请求集合。
Todo list:
1、在队列的数量小雨线程池数量+队列的数量的时候,比较靠谱,在大于的时候有些请求,可能不被处理,要采取一个可行的方案
2、代码几乎没用什么高深的设计模式知识,感觉现在不用也够了,但是有好多需要优化、重构.
希望更多的人维护项目,发现bug,让这个框架越来越强大!
感兴趣的留下联系方式把你们加入 SVN .........
期待您
- Android 网络访问框架 NiceDay 发布
- Android 网络访问框架 NiceDay 发布
- Android 网络访问框架 NiceDay 发布
- Android 网络访问框架——Retrofit
- Android 网络访问框架 Volley 基本使用
- android网络访问框架OkHttp使用入门
- Android异步访问网络框架android-async-http使用
- 网络访问框架XUtils
- ios网络访问框架
- Android访问网络的开源框架----AFinal
- Android进阶系列-手写高并发网络访问框架
- android网络访问框架OkHttp的进一步封装
- spoj niceday
- Alamofire 网络访问框架使用
- Android 访问网络框架之——OkHttp框架的解析
- Android 访问网络框架之——OkHttp框架的解析
- Android_访问网络四(Volley网络框架)
- android的网络访问
- Java基本类型与byte数组之间相互转换
- Android Drawable Resource学习(六)、LevelListDrawable
- Linux-2.6.32.2内核在mini2440上的移植(一)---构建自主开发环境
- 样片申请公司
- 检测单链表是否是回文
- Android 网络访问框架 NiceDay 发布
- C#使用LitJson解析JSON
- Linux-2.6.32.2内核在mini2440上的移植(二)---yaffs2文件系统移植
- Linux-2.6.32.2内核在mini2440上的移植(三)---DM9000网卡驱动移植
- 字号对应尺寸磅
- Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(1)
- javascript this用法小结
- Linux-2.6.32.2在mini2440移植时常见问题
- 正则表达式相关