KotlinはRetrofit 2.0を使用
まずgradle Retrofit 2.0をインポート
ダイレクトコード
エンティティークラス
直接MainActivityでデータを要求する
本文はブロガーのオリジナル文章で、ブロガーの許可を得ずに転載してはならない.https://mp.csdn.net/mdeditor/81903347
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
ダイレクトコード
interface GetRequest_Interface {
@GET("channels/3?pageNo=1&pageSize=20&v=4.0.0")
fun getCall() : Call
// @GET : Get
// getCall() =
// Call,* ( Translation )
// Responsebody , Call
// URL
@GET("channels/3?pageNo={page}&pageSize=20&v=4.0.0")
fun getIpMsgPath(@Path("page") page: String):Call
//
@GET("getIpInfo.php")
fun getIpMsgQuery(@Query("ip") ip:String):Call
//
@GET("getIpInfo.php")
fun getIpMsgQueryMap(@QueryMap option:Map):Call
//Post
@FormUrlEncoded
@POST("getIpInfo.php")
fun getIpMsgPost(@Field("ip") first:String):Call
//POST JSON
@POST("getIpInfo.php")
fun getIpMsgPostBody(@Body ip: String):Call
//
@Multipart
@POST("user/photo")
fun upDateUser(@Part photo: MultipartBody.Part, @Part("description") description: RequestBody):Call
//
@Multipart
@POST("user/photo")
fun upDateUser(@PartMap photos:Map, @Part("description") description: RequestBody):Call
}
エンティティークラス
class MyCarBean(var data:List) {
class CarInfo(
var articleType: String,
var count: String,
var downs: String,
var firstImg: String,
var id: String,
var image: String,
var mtime: String,
var pubDate: String,
var title: String,
var ups: String,
var url: String
)
}
直接MainActivityでデータを要求する
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
initData()
}
private fun initData() {
var retrofit = Retrofit.Builder()
.baseUrl("http://mrobot.pcauto.com.cn/v2/cms/") // /
.addConverterFactory(GsonConverterFactory.create())
.build()
val ipService = retrofit.create(GetRequest_Interface::class.java)
ipService.getCall().enqueue(object: Callback {
override fun onResponse(call: Call?, response: Response?) {
//
var myCarBean: MyCarBean? = response!!.body()
var myCarBeanLists: List.CarInfo> = myCarBean!!.data
for (ca in myCarBeanLists){
Log.v("maz",ca.title)
}
}
override fun onFailure(call: Call?, t: Throwable?) {
//
}
})
}
}
本文はブロガーのオリジナル文章で、ブロガーの許可を得ずに転載してはならない.https://mp.csdn.net/mdeditor/81903347