概述
Retrofit官方主页
Retrofit是为Java和Android打造的一个类型安全的HTTP客户端API。使得对Web方面知之甚少的开发者也可以方便地使用网络请求,省略了TCP复杂的过程,可以实现快速开发,高效使用。这篇博客记录了使用Retrofit从淘宝IP地址库查询IP地址信息的经过。免费的API,不需要注册,安利一波。
开发环境
Android Studio 1.5.1
Windows 10 64 bit
和github的正常稳定连接
开动
1.新建一个AS项目
2.修改xml文件
不需要什么UI,一个EditText,一个Button,一个TextView就好。可以把TextView弄得大一点,不然下面空一块好丑。
3.修改gradle依赖文件
要打开那个app目录下(Module:app后缀)
在里面添加以下几行:[添加前最好去检查一下更新,把版本号换成最新的]
compile 'com.squareup.retrofit2:converter-gson:2.0.0'
compile 'com.squareup.retrofit2:retrofit:2.0.0'
解释一下这两行代码吧,第一行的信息在converter-gson ,从字面意思是“一个叫gson的转换器”,其实它的意思就是字面意思。gson是google的一个解析json的工具,可以把json的键值对映射到一个类里的对象。看过ip.taobao.com 就知道,服务器传回的是json数据,我们就是使用gson解析json。当然你也可以根据喜好选择其他的工具。第二行,很显然,自然就是建立和Retrofit框架的亲密关系了。
然后sync一下,依赖就添加好了。Retrofit相关文件会从网址上自己下好,用这段时间去在Activity里关联处理xml里的基本组件是个不错的选择。
代码时间
1.在manifest文件中声明网络权限。
<uses-permission android:name="android.permission.INTERNET" />
2.根据API信息适配框架
请求接口(GET):
/service/getIpInfo.php?ip=[ip地址字串]
返回信息大概就是这样子的:
已使用在线格式化工具格式化
{
"code": 0,
"data": {
"ip": "210.75.225.254",
"country": "中国",
"area": "华北",
"region&#