`
king_tt
  • 浏览: 2115071 次
  • 性别: 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 网络访问框架3976111.zip

    niceday.ap15_1

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

    混合动力无人船上位机.zip

    无人机最强算法源码,易于部署和学习交流使用

    Swing界面开发和游戏开发.docx

    Swing界面开发和游戏开发.docx

    xx国际集团母子管控诊断报告(宣讲)gl.ppt

    xx国际集团母子管控诊断报告(宣讲)gl.ppt

    二叉树的遍历hahhahaha

    二叉树的遍历hahhahaha

    Tello无人机 dart demo.zip

    无人机最强源码,无人机算法,易于部署和学习交流使用

    node-v6.17.0-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v8.4.0-sunos-x86.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    中国统计NJ澳门面板数据-(更新至2022年)续表.xls

    数据来源:中国统计NJ-2023版

    DCS 400系列可控硅直流传动系统手册

    DCS 400 手册

    node-v10.15.2-linux-ppc64le.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    Dell Edge Gateway 5000系列 用户手册

    Dell Edge Gateway 5000系列 用户手册

    ch_PP-OCRv4_server_rec.onnx

    PP-OCR rec

    node-v10.12.0-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v6.11.1-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    ch-ppocr-mobile-v2.0-det.onnx

    PP-OCR det

    node-v11.14.0-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    (R语言)-8-热图的绘制

    (R语言)-8-热图的绘制

    改进粒子滤波的无人机三维航迹预测方法.zip

    无人机最强算法源码,易于部署和学习交流使用

Global site tag (gtag.js) - Google Analytics