- 1
- 0
- 约3.68千字
- 约 6页
- 2020-06-13 发布于浙江
- 举报
Android API最佳实践
精品文档
精品文档
收集于网络,如有侵权请联系管理员删除
收集于网络,如有侵权请联系管理员删除
精品文档
收集于网络,如有侵权请联系管理员删除
现在,Android应用程序中集成第三方API已十分流行。应用程序都有自己的网络操作和缓存处理机制,但是大部分比较脆弱,没有针对网络糟糕情况进行优化。感谢 Square lnc这家有创新精神的公司,将信用卡商业交易带到手机上。现在有了一系列高质量开源库,支持在Android应用程序中集成。
做什么,如何做?
现在,我们要依次学习使用Retrofit、OKHttp和GSON,简单快速的集成REST API。使用这个组合,我们需要从Twitch.tv下载并解析一些数据。跟着下面的步骤可以在几分钟内,不用写繁琐的模板代码,完成大部分的REST API集成。
学习
Retrofit
Retrofit简化了从Web API下载数据,解析成普通的Java对象(POJO)。例如,要从Github 上下载用户仓库的信息,你只需要编写下面的几行:
1
2
@GET(/users/{user}/repos)
List listRepos(@Path(user) String user);
另外,你需要创建仓库信息类和数据类型。这些代码也可以自动生成,下面会介绍如何自动生成。
整个过程很简单,类似发送一次有参数的请求或发送POST或HEAD。如何连接不同类型的API,请查看 说明文当。
Retrofit的特性之一可以将处理逻辑添加到请求和响应中。你可以添加数据到http请求头部,也可以拦截验证失败的响应重定向到登录界面。
OKHttp
OKHttp是Android版Http客户端。非常高效,支持SPDY、连接池、GZIP和 HTTP 缓存。默认情况下,OKHttp会自动处理常见的网络问题,像二次连接、SSL的握手问题。如果你的应用程序中集成了OKHttp,Retrofit默认会使用OKHttp处理其他网络层请求。
GSON
GSON是将JSON解析成POJO的Java库。GSON也可以将POJO解析成JSON。在Android中,数据对象存储在SharePreference更加方便。
要使用GSON,首先需要创建相应的POJO数据,再用GSON解析为POJO对象。解析过程简单且非常高效。需要了解如何创建可以被GSON解析的POJO对象,请查看 说明文档。Retrofit使用GSON解析JSON数据。
开始Coding
添加库文件到工程
下载 Retrofit、 OKHttp、 GSON库文件。
逐个添加jar文件到你的工程中。
如果使用Android Studio,可以使用gradle同步这个工程。
查找或者编写API
你可能已有一份API,如果你还在寻找API目录,我推荐 ProgrammableWeb。在这个教程中,我们会解析Twitch.Tv的数据流。请求格式请参考 说明手册。Twicht.tv请求数据流的JSON格式:
http://api.justin.tv/api/stream/list.json
展示输出
展示一些API返回的数据,下面的示例是由于是一个GET请求,只能在浏览器中运行,返回数据如下:
1
[{broadcast_part: 4, featured: true, channel_subscription: true, audio_codec: uncompressed, id: 6640712464, category: gaming, title: Fnatic xPeke, Normals(ranked down) on smurf, geo: DE, video_height: 1080, site_count: 8014, embed_enabled: true, channel: {subcategory: null, producer: true, image_url_huge: /jtv_user_pictures/xpeke-profile_image-a182a5fe5a8f239b-600x600.jpeg, timezone: Europe/Madrid, screen_cap_url_huge: “http://static
创建POJO
这部分很有趣,用我们获取到的数据自动创建对应的POJO。使用 jsonschema2pojo,导入包名、类名和JSON数据,保存为私有类型。示例中展示的构造器无法使用,因为JSON数据的根元素是个数组,不是对象。所以我只贴出了数组的第一个元素。展示相关的图片示例。
集成POJOs
将自动产生的POJOs粘贴到工程中就可以了。在我的示例工程中,他们在
您可能关注的文档
最近下载
- 药物制剂工程学-第5章 制剂生产各论.pdf
- 2025年4月《社会研究方法》全国自考考题含解析.docx VIP
- 人教版九年级化学上册期末考试实验题专项练习(附答案).pdf VIP
- 入职登记表 入职登记.docx VIP
- 2025年化工工程师工业炉炉管与炉壳强度及热应力计算专题试卷及解析.pdf VIP
- 2024济南章丘区中小学教师招聘考试真题及答案.docx VIP
- 2026届陕西省西安市新城区西安中学数学高二上期末经典模拟试题含解析.doc
- 《英语语法教学课件》.ppt VIP
- 消防安全管理协议与消防安全管理协议书8篇.docx VIP
- 2025年七年级下册数学期末试题.docx VIP
原创力文档

文档评论(0)