Kotlin開發android之RecyclerView

今天給大家帶來的是用kotlin開發android的一個小例子,實現從網路獲取數據,並展示到RecyclerView上,其中會涉及koklin開發android的一些用法,如:網路請求、非同步操作、數據類,json數據解析、參數傳遞。

本文還是在上次用Kotlin寫的mvp例子的基礎上寫,共兩個activity,程序入口為LoginActivity,點擊登陸後會請求網路數據,然後傳遞數據到MainActivity,並在RecyclerView上展示。

首先是網路請求

先看代碼


非同步網路請求

很簡單的網路請求,就一句話

URL(url).readText() 注意kotlin中try...catch的寫法

android中網路操作不能在主線程,所以用非同步操作,kotlin中非同步線程用doAsync{...},然後在結尾直接跳轉到主線程uiThread{...},是不是簡單很多呢。

Advertisements

數據(參數)傳遞和接收

請求到數據后跳轉activity將數據傳遞到MainActivity,看代碼

參數傳遞

參數的傳遞也比原生android寫法簡單很多,

startActivity<MainActivity>(Pair("param",result))//這裡()的參數可以有很多,如:
startActivity<MainActivity>(Pair("param",result),Pair("flag",1))

然後到MainActivity中接收數據

var data = intent.getStringExtra("param")//接收數據

json解析和數據類

kotlin寫數據類會省去很多行代碼,直接看代碼

Advertisements

數據類

這是根據上面免費天氣介面獲取的數據寫的數據類,稍後用Gson解析會用到,解析數據也很簡單

直接看MainActivity代碼

MainActivity.kt

布局文件activity_main很簡單,就一個RecylcerView

acitivity_main.xml

最後是adapter代碼

ForecastListAdapter.kt

好了,就這些,有興趣的可以去試試

--END--

Advertisements

你可能會喜歡