Android Retrofit2网路编程实现方法详解
android里面本身有okhttp,不过不是很好用,这里就用retrofit2,简单好用。
首先,需要加入网络权限:
<uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.read_external_storage"/> <uses-permission android:name="android.permission.write_external_storage"/>
在build.gradle文件里加入引用包: gson不用的话,就不需要添加
implementation 'com.squareup.okhttp3:okhttp:3.0.1'
implementation 'com.squareup.retrofit2:retrofit:2.0.2'
implementation 'com.squareup.retrofit2:converter-gson:2.0.2'
这时准备工作做完了。
先创建一个接口文件testservice
这里的@post("getmacaddress") 的getmacaddress 是url除ip外的最后一个路径,可以理解为 ip+getmacaddress
这里用的是post请求方式,@field("mobile")为请求接口的参数。
写一个实体类模型,用来匹配接收的数据macadress
最后主mainactivity
这里的baseurl("http://115.29.190.99/api/meta/") 就是url的前面路径,加上@post("getmacaddress") 的getmacaddress 其实就是 :http://115.29.190.99/api/meta/getmacaddress 请求的全路径。
两种方式:
testcall2 是直接接收接收返回json的数据。
testcall3 是用模型接收返回的json数据。
输出结构为:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。