private ListView lv;
//path路径
String path="http://japi.juhe.cn/joke/content/list.from?key=94fbc7ec2262160140d71e1418322f34%20&page=1&pagesize=10&sort=asc&time=1418745237";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
//找控件
lv = (ListView) findViewById(R.id.lv);
getData();
}
//异步加载数据
public void getData(){
new AsyncTask<String, Void, MyBean>() {
@Override
protected MyBean doInBackground(String... params) {
try {
//实例化url
URL url = new URL(params[0]);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
//获取请求码
int responseCode = httpURLConnection.getResponseCode();
//判断请求码
if (responseCode==200){
InputStream inputStream = httpURLConnection.getInputStream();
String s = StreamUtils.InputToJson(inputStream);
Log.i("++++++++++++++++++","++++"+s);
Gson gson=new Gson();
MyBean myBean = gson.fromJson(s,MyBean.class);
return myBean;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(MyBean myBean) {
super.onPostExecute(myBean);
MyBaseAdapter adapter = new MyBaseAdapter(Main2Activity.this,myBean);
lv.setAdapter(adapter);
}
}.execute(path);
}
}
--------------------------------------------------------
适配器
public class MyBaseAdapter extends BaseAdapter {
Context context;
MyBean myBean;
//构造方法
public MyBaseAdapter(Context context, MyBean myBean) {
this.context = context;
this.myBean = myBean;
}
@Override
public int getCount() {
return myBean.getResult().getData().size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView=View.inflate(context, R.layout.item, null);
//获取布局item
TextView tv1 = (TextView) convertView.findViewById(R.id.tv1);
TextView tv = (TextView) convertView.findViewById(R.id.tv);
tv1.setText(myBean.getResult().getData().get(position).getUpdatetime());
tv.setText(myBean.getResult().getData().get(position).getContent());
return convertView;
}
}
------------------------------------------
public class StreamUtils {
public static String InputToJson(InputStream inputStream){
try {
int len=0;
byte[] b=new byte[1024];
ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
while ((len=inputStream.read(b))!=-1){
outputStream.write(b,0,len);
}
return outputStream.toString("utf-8");
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}