package com.example.imageloaddislocationlistview;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import com.example.imageloaddislocationlistview.adapter.MyBaseAdapter;
import com.example.imageloaddislocationlistview.bean.HealthInfo;
import com.example.imageloaddislocationlistview.utils.StreamTools;
import com.google.gson.Gson;
import com.limxing.xlistview.view.XListView;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private XListView xLv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找控件
xLv = (XListView) findViewById(R.id.xLv);
//设置适配器
//xLv.setAdapter();
healthData("http://japi.juhe.cn/health_knowledge/infoList?key=eb033dfcf95c03f9f451f6973049e6be");
}
/**
* 请求网络数据
* @param path 请求接口地址
*/
private void healthData(String path){
new AsyncTask<String,Void,String>(){
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if(s == null)
return;
//解析
Gson gson = new Gson();
HealthInfo healthInfo = gson.fromJson(s, HealthInfo.class);
//得到data值
List<HealthInfo.ResultBean.DataBean> dataList = healthInfo.getResult().getData();
//设置适配器
xLv.setAdapter(new MyBaseAdapter(MainActivity.this,dataList));
}
@Override
protected String doInBackground(String... params) {
try {
String path = params[0];
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
int code = connection.getResponseCode();
if(code == HttpURLConnection.HTTP_OK){
InputStream is = connection.getInputStream();
String json = StreamTools.readFromNetWork(is);
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}.execute(path);
}
}
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import com.example.imageloaddislocationlistview.adapter.MyBaseAdapter;
import com.example.imageloaddislocationlistview.bean.HealthInfo;
import com.example.imageloaddislocationlistview.utils.StreamTools;
import com.google.gson.Gson;
import com.limxing.xlistview.view.XListView;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private XListView xLv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找控件
xLv = (XListView) findViewById(R.id.xLv);
//设置适配器
//xLv.setAdapter();
healthData("http://japi.juhe.cn/health_knowledge/infoList?key=eb033dfcf95c03f9f451f6973049e6be");
}
/**
* 请求网络数据
* @param path 请求接口地址
*/
private void healthData(String path){
new AsyncTask<String,Void,String>(){
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if(s == null)
return;
//解析
Gson gson = new Gson();
HealthInfo healthInfo = gson.fromJson(s, HealthInfo.class);
//得到data值
List<HealthInfo.ResultBean.DataBean> dataList = healthInfo.getResult().getData();
//设置适配器
xLv.setAdapter(new MyBaseAdapter(MainActivity.this,dataList));
}
@Override
protected String doInBackground(String... params) {
try {
String path = params[0];
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
int code = connection.getResponseCode();
if(code == HttpURLConnection.HTTP_OK){
InputStream is = connection.getInputStream();
String json = StreamTools.readFromNetWork(is);
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}.execute(path);
}
}