第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

如何像老師那樣獲取一個網頁json數據?

如何像老師那樣獲取一個網頁json數據?

正在回答

1 回答

package?com.example.myapplication;

import?android.os.AsyncTask;
import?android.os.Bundle;
import?android.support.v7.app.AppCompatActivity;
import?android.util.Log;
import?android.widget.ListView;

import?org.json.JSONArray;
import?org.json.JSONObject;

import?java.io.BufferedReader;
import?java.io.*;
import?java.io.InputStream;
import?java.io.InputStreamReader;
import?java.net.*;
import?java.util.ArrayList;
import?java.util.List;

public?class?MainActivity?extends?AppCompatActivity?{
????private?static?final?String?TAG?=?"MainActivity";
private?ListView?listView;
????private?String?url?=?"http://idcbgp.cn/api/teacher?type=4&num=30";
????private?List<NewsBean>?newsBeenList;
????@Override
????protected?void?onCreate(Bundle?savedInstanceState)?{
????????super.onCreate(savedInstanceState);
????????setContentView(R.layout.activity_main);

????????listView?=?(ListView)?findViewById(R.id.listView);


????????MyAsyncTask?myAsyncTask?=?new?MyAsyncTask();
myAsyncTask.execute(url);


????}

????private?List<NewsBean>?getJsonData(String?s){
List<NewsBean>?listNews?=?new?ArrayList<>();
????????NewsBean?newsBean;
????????try?{
????????????String?jsonString?=readStream(new?URL(s).openStream());

????????????Log.i(TAG,?"getJsonData:?"+jsonString);

????????????JSONObject?jsonObject?=?new?JSONObject(jsonString);
????????????JSONArray?jsonArray?=?jsonObject.getJSONArray("data");
????????????for(int?i=0;i<jsonArray.length();i++){
????????????????jsonObject?=?jsonArray.getJSONObject(i);
????????????????newsBean?=?new?NewsBean();
????????????????newsBean.newsIconUrl=?jsonObject.getString("picSmall");
????????????????newsBean.title?=?jsonObject.getString("name");
????????????????newsBean.content?=?jsonObject.getString("description");
????????????????listNews.add(newsBean);
????????????}
????????}?catch?(Exception?e)?{
????????????e.printStackTrace();
????????}

????????return?listNews;
????}

????public??String?readStream(InputStream?is){
????????InputStreamReader?isr;
????????String?result="";


????????try?{
????????????String?temp="";
????????????isr?=?new?InputStreamReader(is,"utf-8");
????????????BufferedReader?bufferedInputStream?=?new?BufferedReader(isr);
????????????while((temp=bufferedInputStream.readLine())!=null){
result+=temp;
????????????}

????????}?catch?(IOException?e)?{
????????????e.printStackTrace();
????????}
????????return?result;


????}

????class?MyAsyncTask?extends?AsyncTask<String,Void,List<NewsBean>>{


????????@Override
????????protected?List<NewsBean>?doInBackground(String...?strings)?{
????????????return?getJsonData(strings[0]);
????????}

????????@Override
????????protected?void?onPostExecute(List<NewsBean>?newsBeen)?{
????????????super.onPostExecute(newsBeen);
????????????newsBeenList?=?newsBeen;
????????????NewsAdapter?newsAdapter?=?new?NewsAdapter(newsBeenList,MainActivity.this);
????????????listView.setAdapter(newsAdapter);


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


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android必學-異步加載
  • 參與學習       50618    人
  • 解答問題       326    個

了解Android中的異步加載處理方法,這是面試問的最多的知識點

進入課程

如何像老師那樣獲取一個網頁json數據?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號