今天給大家帶來的是用kotlin開發android的一個小例子,實現從網絡獲取數據,並展示到RecyclerView上,其中會涉及koklin開發android的一些用法,如:網絡請求、異步操作、數據類,json數據解析、參數傳遞。
本文還是在上次用Kotlin寫的mvp例子的基礎上寫,共兩個activity,程序入口為LoginActivity,點擊登陸後會請求網絡數據,然後傳遞數據到MainActivity,並在RecyclerView上展示。
首先是網絡請求
先看代碼
很簡單的網絡請求,就一句話
URL(url).readText() 注意kotlin中try...catch的寫法
android中網絡操作不能在主線程,所以用異步操作,kotlin中異步線程用doAsync{...},然後在結尾直接跳轉到主線程uiThread{...},是不是簡單很多呢。
數據(參數)傳遞和接收
請求到數據後跳轉activity將數據傳遞到MainActivity,看代碼
參數的傳遞也比原生android寫法簡單很多,
startActivity<MainActivity>(Pair("param",result))//這裡()的參數可以有很多,如:
startActivity<MainActivity>(Pair("param",result),Pair("flag",1))
然後到MainActivity中接收數據
var data = intent.getStringExtra("param")//接收數據
json解析和數據類
kotlin寫數據類會省去很多行代碼,直接看代碼
這是根據上面免費天氣接口獲取的數據寫的數據類,稍後用Gson解析會用到,解析數據也很簡單
直接看MainActivity代碼
佈局文件activity_main很簡單,就一個RecylcerView
最後是adapter代碼
好了,就這些,有興趣的可以去試試
--END--
相關推薦
'花椒服務端 gRPC 開發實踐'
"背景在移動端平臺開發中,為了增加代碼複用,降低開發成本,通常會需要採用跨平臺的開發技術,花椒也不例外。本次新的單品開發,由於時間緊,人員有限,經過調研選型,最終確定了 flutter 方案(具體選型過程不在本文討論之內)。為了讓客戶端更專注業務實現,降低接口聯調測試成本,...
'萬名程序員總結,最適合人工智能(AI)開發的五大編程語言'
"人工智能(AI)開創了應用程序開發的全新時代。通過利用機器學習和深度學習,可以完成用戶配置優化,個性化設置及建議。另外,還可以整合更智能的搜索結果,提供語音界面或智能幫助等,用於優化程序本身。你甚至可以構建具有視覺和聽覺,並能夠作出反應的智能應用程序。學習哪種編程語言來深...
'PM技術課|Android那些事兒'
"Android最初由安迪·魯賓(Andy Rubin)等人在2003年開發,2005年被Google收購,現在Android 系統是由谷歌及其他公司帶領的開放手機聯盟開發的。那我們本文就一起來了解一下關於Android那些事兒~Android簡介Android 是一個開源...
'前端進階,你必須要了解的安全問題之XSS攻擊'
"前端安全一直是一個老生常談的話題,但是在實際的工作過程中,我發現大部分的前端同學對此瞭解不多,或者說知道一些但從沒有在意識層面真正重視過。今天我們就來扒一扒前端到底有哪些安全問題,我們到底該以什麼樣的態度怎麼去看待它。在深入分析之前我們還是按照慣例先大概介紹下什麼是XSS...
'Spring Boot + Vue 前後端分離開發,前端網絡請求封裝與配置'
"前端網絡訪問,主流方案就是 Ajax,Vue 也不例外,在 Vue2.0 之前,網絡訪問較多的採用 vue-resources,Vue2.0 之後,官方不再建議使用 vue-resources ,這個項目本身也停止維護,目前建議使用的方案是 axios。今天鬆哥就帶大家來...
VSCode Python開發環境搭建
Python目前是非常流行的編程語言,有很多開發工具可以使用。不過Visual Studio太過龐大,而Jetbrains PyCharm運行又比較佔用資...
Python接口測試之數據驅動
在接口的自動化測試中,客戶端發送請求給服務端,在客戶端發送請求的時候,包含了請求地址,請求方法,以及請求參數等數據,那麼在接口的自動化測試中如何來分離這些...
推薦中...