`
king_tt
  • 浏览: 2260364 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android 网络访问框架 NiceDay 发布

 
阅读更多

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);
/**
*/
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 .........

期待您


分享到:
评论

相关推荐

    NiceDay 是一个Android 网络访问框架3976111.zip

    【NiceDay:Android网络访问框架解析】 NiceDay是一款专为Android平台设计的网络访问框架,其核心目标是简化Android应用中的网络数据交互过程,提供高效、稳定且易于使用的API,帮助开发者快速构建网络功能。这款...

    基于android平台的日程管理软件开发与设计可行性分析报告.pdf

    开发者需熟悉Android系统架构、应用程序框架、各种API的使用,以及数据库和网络通信的相关知识。在明确了目标用户群体后,还需要对市场上类似软件进行分析,以确定开发软件的差异化优势。最终,报告将为日程管理软件...

    niceday.ap15_1

    该资源是20年西门子智能制造挑战赛练习时的存留资料,主要是给初学者一个参考,便于了解PLC设计。作者当时也是边学边做,没有资源可以参考很难快速进步,所以分享出来自己的程序,希望可以帮助到有需要的同学。...

    【口语】美音发音秘诀

    5. **音变(Assimilation)**:在某些情况下,一个词尾的音会受到下一个词首音的影响,如"nice day"在快速口语中可能读成"niceday"。 6. **弱读(Weak Forms)**:在非重读音节中,某些元音和辅音可能会减弱或消失...

    JS 操作符整理[推荐收藏]

    例如,如果`txt1`是“Whatavery”,`txt2`是“niceday!”,那么`txt3=txt1+txt2`将得到的结果是“Whataveryniceday!”。如果需要在字符串之间加入空格,则需在字符串或表达式中插入空格字符。 6. 条件运算符(三元...

Global site tag (gtag.js) - Google Analytics