Android异步线程框架封装
来源:互联网 发布:阿里域名 编辑:程序博客网 时间:2024/05/29 19:15
“Perl之父Larry Wall说到“懒惰、傲慢、缺乏耐性是程序员的三大美德”。
我可能已经具备了一个程序开发人员应具有的美德吧——懒于书写基本一样的代码,即使封装一个新的方法需要更多时间。
Android系统如果在主线程访问网络会抛出异常,导致程序退出。为此,Google提供了AsyncTask这样一个异步线程类。使用很方便,但是如果直接用会可能会比较麻烦(至少我这样人为)。在公司上一个Android项目中封装了一个类,用这个类可以很方便地使用AsyncTask。
其中Paser为解析器接口,用于解析服务器返回的数据;GateWay接口为网络出口类;UpdateUI用于更新UI。
/** * 基于Android异步线程(AsyncTask)的网络操作类 <br> * 因为AsyncTask不能重用,所以该类在一次execute后也不能重用<br> * 使用方法:<br> * <p> * new NetLoader(parser,update).execute(order); * </p> *或<p> * NetLoader.run(order,parser,upUi); *</p> * @author Memory_Leak */public class NetLoader<T> extends AsyncTask<Order, Void, Result<T>> { private Parser<T> parser = null; private UpdateUI<T> updateUI = null; /** * @param parser 解析器 * @param updateUI 更新UI * @see ireal.here.data.Parser * @see UpdateUI
*
*/ public NetLoader(Parser<T> parser, UpdateUI<T> updateUI) { this.parser = parser; this.updateUI = updateUI; } @Override protected Result<T> doInBackground(Order... params) { GateWay gateWay = new HttpGateWay(true); return gateWay.send(params[0], parser); } @Override protected void onPostExecute(Result<T> result) { super.onPostExecute(result); if (updateUI == null) return; updateUI.update(result); } public static <T> void run(Order<?> order, Parser<T> parser, UpdateUI<T> ui) { new NetLoader<T>(parser, ui).execute(order); }}
0 0
- Android异步线程框架封装
- Android异步线程AsyncTask封装
- 异步线程任务封装
- Android之封装好的异步网络请求框架
- winform UI后台异步工作线程封装
- Android 异步线程 HandlerThread
- Android AsyncTask异步线程
- Android AsyncTask异步线程
- Android中的异步线程
- android异步线程
- android异步线程
- android异步线程
- Android异步线程
- android Http异步请求封装
- android的线程封装
- Android Framework线程封装
- Android Framework线程封装
- android的线程封装
- Optimizing Unity Games for Mobile Platforms
- 浅谈PHP自动化代码审计技术
- arcgis for flex api version3.7 教程:10.打印服务功能简介
- Cordova入门课程
- NSMutableAttributedString 诡异的问题
- Android异步线程框架封装
- hdoj 2094 产生冠军 【拓扑】+【STL】
- 使用HashSet过滤重复字符
- Go 语言 与 C 语言 的比较学习
- 如何用openssl命令行生成证书
- HUD 1035 Robot Motion 【DFS】
- 《华为技术认证HCNA网络技术实验指南》参考配置
- ubuntu下彻底删除软件
- 第六周项目5 友元类