Kotlin開發android之RecyclerView

Kotlin JSON 技術 網聚天下 2017-06-01

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

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

首先是網絡請求

先看代碼

Kotlin開發android之RecyclerView

異步網絡請求

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

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

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

數據(參數)傳遞和接收

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

Kotlin開發android之RecyclerView

參數傳遞

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

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

然後到MainActivity中接收數據

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

json解析和數據類

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

Kotlin開發android之RecyclerView

數據類

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

直接看MainActivity代碼

Kotlin開發android之RecyclerView

MainActivity.kt

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

Kotlin開發android之RecyclerView

acitivity_main.xml

最後是adapter代碼

Kotlin開發android之RecyclerView

ForecastListAdapter.kt

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

--END--

相關推薦

推薦中...