位置: 编程技术 - 正文
推荐整理分享Android 网络框架 android-async-http(android网络框架okhttp),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:android常用网络框架,android常用网络框架,android 网络框架封装,android网络框架okhttp,android网络框架okhttp,android 网络框架 Net,android 网络框架封装,android网络框架,内容如对您有帮助,希望把文章链接给更多的朋友!
转载请注明出处:明桑Android
这是Android网络框架系列的最后一篇了~~, 文章主要介绍第三方库 android-async-http的使用,之后作为Android网络框架系列的完结,对在开发中如何学习和使用第三方框架做个总结!
1,Android Asynchronous Http Client简介android-async-http是封装了HttpClient的顶层实现,它所发起的Request全部运行于不同于UI线程的其它线程中,但它回调的处理逻辑和使用Handler发送message处理的回调逻辑一样,你也可以将它运行在Service线程或者background线程中。
特点:
异步HTTP请求,匿名回调响应函数在其他线程而非UI线程中发送RequestRequests使用线程池管理限制并发资源可以自定义GET/POST参数多种文件上传方式JSON数据的上传Request重试机制解析多种数据格式支持持久化存储Cookie支持SAX解析支持多种内容和语言编码格式,不仅仅是UTF-8更多特性android-async-http
2,Android-async-http的使用跟所有第三方库的使用一样,我们需要将其添加进我们的项目:可以直接下载最新.jar包( android-async-http.jar),也可以从github中将其clone到本地:android-async-http 如果是直接下载的.jar包,将其添加至项目libs文件夹下,并右键jar包,选择将其Add As Library:如果是clone的项目,你还是需要将其编译成jar包,然后根据第1步操作添加进项目:以下是编译过程: 首先进入你clone的android-async-http目录下,然后在命令行执行如下命令2.android-async-http的基本用法: 我们首选需要创建一个AsyncHttpClient实例,然后用它发起Request
推荐用法:创建 static Http Client;
跟Volley框架一样,我们应该单独创建一个类,将我能需要的代码初始化,以便于全局持有某些对象。在这里将我们所需要的封装在一个static Client类中,可以根据自己的需求具体编写自定义Client类,具体的使用参考API: AsyncHttpClient, RequestParams and AsyncHttpResponseHandler
3.Cookie的存储:通过使用PersistentCookieStore,它实现了HttpClient中CookieStore接口,自动将Cookie存储到本地SharedPerferences中,常用来存储用户登录信息等。
4.为Request添加GET/POST参数:需要用到RequestParams类, 创建方法有以下几种:
5.通过RequestParams上传文件:上面我们知道了如何试着RequestParams,那么怎么才能上传一个文件呢,可以通过以下三种方式:
通过输入流上传:
“passwords.txt”);
通过文件对象上传:
通过字节数组上传:
6.下载二进制文件:通过FileAsyncHttpResponseHandler类可以下载图片等二进制文件
那我们如何发送其他类型的例如Json请求呢,其实观察可以发现只需要:new JsonHttpResponseHandler(){..}
7.HTTP身份验证Request:webservice中常需要进行身份验证,可通过以下两种方式实现:
以上即android-async-http 框架的基本用法,不写具体的Demo了,更多内容参见官网提供的API:android-sync-http API
总结:Android网络框架的学习就告一段落了,主要介绍了Volley、Picasso、android-sync-http三种框架的使用,希望能对正在学习Android网络编程部分的同学有所帮助。
在使用中,我们需要根据自己的需求和各个框架的特点选择自己所需的框架,初期我们掌握基本的使用就可以了,很多时候我们应该去试着研究它们的源码,这样才能在以后的开发中运用自如。
其实几篇文章下来,我们可以发现开发中使用第三方框架基本上无非以下几步:
根据自己的需求去github等网站寻求目前比较流行的框架;熟悉你所选定框架的特点和使用场景以及缺陷。将对应jar包引入项目。根据官方示例掌握基本用法。多做练习,熟悉使用场景。研究源码,改写框架以适应自己的需求。接下来准备写篇实战的文章,灵活运用以上所学框架我们实现一个简单APP,有兴趣的关注微博或公众号,随时更新~~
参考资料:
Android Asynchronous Http Client
微博: @明桑Android黑历史邮箱: <@.com>个人主页: 明桑战胜Android汪的黑历史微信公众号: ITBird
Android eclipse for mac redo 快捷键 Androideclipseformacredo快捷键ShiftCommandZ:Redoctrlz的反向快捷键redo是Undoctrlz的反向快捷键Undo在windows里的eclipse操作是ctrlzRedo在windows里的eclipse操作是ctrlyRedoCtrlYI
Android中的三种菜单 Android的菜单分为三种类型:选项菜单(OptionMenu)、上下文菜单(ContextMenu)、子菜单(SubMenu)一.OptionsMenu当用户单击设备上的菜单按钮(Menu),触发事件弹出
TextWatcher实现一键清空EditText 布局文件main.xml:?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=
友情链接: 武汉网站建设