Android Kotlin 從0到1 之從API中獲取數(shù)據(jù)碳锈,發(fā)起一次簡單請求M缫薄!

到這里我們可以嘗試使用Kotlin 發(fā)起一次API 的請求獲取數(shù)據(jù)售碳。帶你體驗最簡潔的數(shù)據(jù)請求,將數(shù)據(jù)解析强重,并展示绞呈!

首先我們需要一個API,用于請求數(shù)據(jù)间景。

請求地址:http://japi.juhe.cn/joke/content/text.from
請求參數(shù): page=&pagesize=&key=26e9ed96a3ea69201844871a9ef4acec
請求方式:GET

數(shù)據(jù)格式自己拼接請求一下佃声,我就不給了.

首先我們創(chuàng)建一個Request 類用于進行請求

class Request(val url:String){
    // 請求方法
    fun request(){
        val requestData = URL(url).readText()
        Log.e("TAG",requestData)
    }
}

解釋下上面的這段代碼,首先創(chuàng)建了一個類倘要,構(gòu)造器中要求傳入一個url,在請求方法中通過 URL(url).readText() 發(fā)起請求圾亏,得到返回的數(shù)據(jù),通過log打印返回的結(jié)果 其實發(fā)起請求只需要一行帶代碼 URL(url).readText()它會返回請求到的json數(shù)據(jù)我們可以調(diào)用測試一下封拧,記得請求數(shù)據(jù)需要在子線程志鹃,還有不要忘了網(wǎng)絡(luò)請求權(quán)限;

 async{
    var url:String = "http://japi.juhe.cn/joke/content/text.from?page=&pagesize=&key=26e9ed96a3ea69201844871a9ef4acec"
    Request(url).request()
 }

async { }是一個擴展函數(shù),其作用就是開辟一個線程泽西,接下來在MainActivity調(diào)用運行測試下返回結(jié)果

看下圖曹铃,調(diào)用成功接下來我們將解析json,并將這些數(shù)據(jù)使用控件進行展示


image.png

解析數(shù)據(jù)口用到了Kotlin中的數(shù)據(jù)類(data)
第一步:創(chuàng)建一個File

image.png

第二步,跟據(jù)數(shù)據(jù)格式編寫這個File (通過Json編寫B(tài)ean)

package com.xzz.draw.js_kotin
/**
 * Created by Administrator on 2017/6/8 0008.
 */
data class RequestFore(val error_code:Int,val reason:String,val result:RequestData)

data class RequestData(val data:List<Joke>)

data class Joke(val content:String,val hashId:String,val unixtime:Int,val updatetime:String)

你們仔細看下數(shù)據(jù)格式可以看出來三個data完全是解析了json的一個bean

第三步:就是將json解析到我們的數(shù)據(jù)類中尝苇,我們需要通過Gson包對Json進行解析 需要在Gradle 中添加依賴

 compile "com.google.code.gson:gson:2.4"

最后在我們的Request 請求類中對json 進行解析,在方法添加返回值將數(shù)據(jù)返回,

fun request() : RequestFore{
  val data = URL(url).readText()
  // 解析json到數(shù)據(jù)類
  val request = Gson().fromJson(data,RequestFore::class.java)
  return request
}

最后在MainActivity 進行數(shù)據(jù)展示 :運行看結(jié)果

  async {
        val request:RequestFore = Request(url).run()
        // 線程轉(zhuǎn)換铛只,切換至UI線程
        uiThread {
            main_hello.text = request.result.data[0].toString()
        }
    }
image.png

可以看到,線程切換成功糠溜,數(shù)據(jù)顯示

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末淳玩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子非竿,更是在濱河造成了極大的恐慌蜕着,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件红柱,死亡現(xiàn)場離奇詭異承匣,居然都是意外死亡,警方通過查閱死者的電腦和手機锤悄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門韧骗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人零聚,你說我怎么就攤上這事袍暴。” “怎么了隶症?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵政模,是天一觀的道長。 經(jīng)常有香客問我蚂会,道長淋样,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任胁住,我火速辦了婚禮趁猴,結(jié)果婚禮上刊咳,老公的妹妹穿的比我還像新娘。我一直安慰自己儡司,他們只是感情好芦缰,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著枫慷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浪规。 梳的紋絲不亂的頭發(fā)上或听,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機與錄音笋婿,去河邊找鬼誉裆。 笑死,一個胖子當著我的面吹牛缸濒,可吹牛的內(nèi)容都是我干的足丢。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼庇配,長吁一口氣:“原來是場噩夢啊……” “哼斩跌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起捞慌,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤耀鸦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后啸澡,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袖订,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年嗅虏,在試婚紗的時候發(fā)現(xiàn)自己被綠了洛姑。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡皮服,死狀恐怖楞艾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情冰更,我是刑警寧澤产徊,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站蜀细,受9級特大地震影響舟铜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜奠衔,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一谆刨、第九天 我趴在偏房一處隱蔽的房頂上張望塘娶。 院中可真熱鬧,春花似錦痊夭、人聲如沸刁岸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽屠凶。三九已至,卻和暖如春统扳,著一層夾襖步出監(jiān)牢的瞬間捍歪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工恨狈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疏哗,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓禾怠,卻偏偏與公主長得像返奉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子吗氏,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理芽偏,服務(wù)發(fā)現(xiàn),斷路器弦讽,智...
    卡卡羅2017閱讀 134,600評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,520評論 25 707
  • 從三月份找實習到現(xiàn)在哮针,面了一些公司,掛了不少坦袍,但最終還是拿到小米十厢、百度、阿里捂齐、京東蛮放、新浪、CVTE奠宜、樂視家的研發(fā)崗...
    時芥藍閱讀 42,192評論 11 349
  • 從零開始安裝配置 ionic 并創(chuàng)建 helloIonic 項目 推薦安裝 node v6.10.2 LTS 版本...
    四次元君閱讀 811評論 0 1
  • 看到一個相互加好友很久但是從未有過交談的豆瓣作者包颁,在她的朋友圈里轉(zhuǎn)發(fā)了一條推送“自由職業(yè)者的黃金時代”,文章從經(jīng)濟...
    桃錦閱讀 434評論 1 3