AsyncTask GET請(qǐng)求

布局


實(shí)現(xiàn)代碼

/** * 使用異步任務(wù)下載網(wǎng)絡(luò)數(shù)據(jù)

* 使用gson解析

* 注:有時(shí)間看看我講的原生json解析

*/

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

? public static final String KAI_YAN_URL = "http://baobab.kaiyanapp.com/api/v4/tabs/selected?udid=11111&vc=168&vn=3.3.1&deviceModel=Huawei%36&first_channel=eyepetizer_baidu_market&last_channel=eyepetizer_baidu_market&system_version_code=20"; protected Button mGetNetworkDataBtn;

? protected Button mGetPicBtn;

? protected ImageView mImageView;

?? @Override protected void onCreate(Bundle savedInstanceState) {

?????? super.onCreate(savedInstanceState);

?????? super.setContentView(R.layout.activity_main);

?????? initView();

? }

? @Override public void onClick(View view) {

????? if (view.getId() == R.id.get_network_data_btn) {

?????????? getDatas();

?????? } else if (view.getId() == R.id.get_pic_btn) {

?????????? getPicture();

????? }

? }

?private void getDatas() {

?????? MyTask task = new MyTask();

????? ?task.execute(KAI_YAN_URL);

?? }

? private void getPicture() {

????? String imgUrl = "http://img.kaiyanapp.com/1699f3946ccd281230a1d887d169439f.pngimageMogr2/quality/60/format/jpg";

?????? Picasso .with(this) .load(imgUrl) .into(mImageView);

? }

? private void initView() {

?????? mGetNetworkDataBtn = (Button) findViewById(R.id.get_network_data_btn);???

?????? mGetNetworkDataBtn.setOnClickListener(MainActivity.this);

?????? mGetPicBtn = (Button) findViewById(R.id.get_pic_btn);

?????? mGetPicBtn.setOnClickListener(MainActivity.this);

?????? mImageView = (ImageView) findViewById(R.id.image_view);

?? }

?? private class MyTask extends AsyncTask> {

????? @Override protected ListdoInBackground(String... params) {

?????????? String requestUrl = params[0];

?????????? // 使用HTTPUrlConnection

?????????? try {

????????????? URL url = new URL(requestUrl);

????????????? HttpURLConnection connection = (HttpURLConnection) url.openConnection();

????????????? // 配置connection

????????????? connection.setRequestMethod("GET");? // GET或POST必須大寫(xiě)

????????????? // 連接網(wǎng)絡(luò) connection.connect();

????????????? // 判斷是否連接成功 if (connection.getResponseCode() == 200) {

????????????? // 獲取來(lái)自網(wǎng)絡(luò)的輸入流

????????????? // 使用緩沖字符輸入流

????????????? // 字節(jié)流轉(zhuǎn)字符流

????????????? BufferedReader br = null;

????????????? br = new BufferedReader(new InputStreamReader(connection.getInputStream()));

????????????? // 最終接收的json字符串

???????????? String json = "";

???????????? // 使用緩沖流讀取到的每一行數(shù)據(jù)

???????????? String line = "";

???????????? while ((line = br.readLine()) != null) {

????????????????? json += line.trim();

????????????? }

?????????????// json數(shù)據(jù)產(chǎn)生完畢,該解析了

???????????? Gson gson = new Gson();

???????????? KaiYan kaiYan = gson.fromJson(json, KaiYan.class);

???????????? ListitemList = kaiYan.getItemList();

???????????? return itemList;

????????? }

??? } catch (Exception e) {

?????????? e.printStackTrace();

????????? Toast.makeText(MainActivity.this, "下載錯(cuò)誤", Toast.LENGTH_SHORT).show();

?????? }

?????????? return null;

?????? }

?????? @Override protected void onPostExecute(ListitemList) {

??????????? super.onPostExecute(itemList);

???????????? // 可以使用RecyclerView或ListView展示數(shù)據(jù)

??????????? for (KaiYan.ItemBean itemBean : itemList) {

??????????? Log.d("1507", "type: " + itemBean.getType() +

??????????? ", title: " + itemBean.getData().getTitle() +

????????????", url" + itemBean.getData().getPlayUrl());

??????????? }

????? }

? }

}

Bean

package net.bwie.network.bean;

import java.util.List;public class KaiYan {

?? private ListitemList; public ListgetItemList() {

????? return itemList;

?? }

? public void setItemList(ListitemList) {

this.itemList = itemList;

}

public static class ItemBean {

private String type = "";

private DataBean data;

public String getType() {

return type;

}

public void setType(String type) {

this.type = type;

}

public DataBean getData() {

return data;

}

public void setData(DataBean data) {

this.data = data;

}

public static class DataBean {

private String playUrl = "";

private String title = "";

public String getPlayUrl() {

return playUrl;

}

public void setPlayUrl(String playUrl) {

this.playUrl = playUrl;

}

public String getTitle() {

return title;

}

public void setTitle(String title) {

this.title = title;

}

}

}

}

最重要的是記得加上網(wǎng)絡(luò)權(quán)限


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子规惰,更是在濱河造成了極大的恐慌姜挺,老刑警劉巖怨咪,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件牍颈,死亡現(xiàn)場(chǎng)離奇詭異插勤,居然都是意外死亡泳挥,警方通過(guò)查閱死者的電腦和手機(jī)然痊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)屉符,“玉大人剧浸,你說(shuō)我怎么就攤上這事≈螅” “怎么了辛蚊?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)真仲。 經(jīng)常有香客問(wèn)我袋马,道長(zhǎng),這世上最難降的妖魔是什么秸应? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任虑凛,我火速辦了婚禮碑宴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘桑谍。我一直安慰自己延柠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布锣披。 她就那樣靜靜地躺著贞间,像睡著了一般。 火紅的嫁衣襯著肌膚如雪雹仿。 梳的紋絲不亂的頭發(fā)上增热,一...
    開(kāi)封第一講書(shū)人閱讀 52,682評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音胧辽,去河邊找鬼峻仇。 笑死,一個(gè)胖子當(dāng)著我的面吹牛邑商,可吹牛的內(nèi)容都是我干的摄咆。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼人断,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼吭从!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起恶迈,我...
    開(kāi)封第一講書(shū)人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤影锈,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后蝉绷,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡枣抱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年熔吗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片佳晶。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡桅狠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出轿秧,到底是詐尸還是另有隱情中跌,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布菇篡,位于F島的核電站漩符,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏驱还。R本人自食惡果不足惜嗜暴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一凸克、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧闷沥,春花似錦萎战、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至路狮,卻和暖如春虫啥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背览祖。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工孝鹊, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人展蒂。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓又活,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親锰悼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子柳骄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

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

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)箕般,斷路器耐薯,智...
    卡卡羅2017閱讀 134,715評(píng)論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法丝里,內(nèi)部類的語(yǔ)法曲初,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法杯聚,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,665評(píng)論 18 399
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程臼婆,因...
    小菜c閱讀 6,450評(píng)論 0 17
  • 一套完整的登陸注冊(cè)業(yè)務(wù)邏輯 準(zhǔn)備部分基礎(chǔ)工具類Basepackage com.jericho.tools;impo...
    JerichoPH閱讀 2,456評(píng)論 0 9
  • 2017.4.20 星期四 累計(jì)82 一、目標(biāo): 新一輪目標(biāo)仍然實(shí)現(xiàn)財(cái)富收入50萬(wàn)元(7月底)幌绍。通過(guò)我的目標(biāo)實(shí)現(xiàn)颁褂,...
    鵲曾閱讀 87評(píng)論 0 0