MyApplication 类
public class MyApplication extends Application{
@Override
public void onCreate() {
ImageLoaderConfiguration configuration=ImageLoaderConfiguration.createDefault(this);
ImageLoader.getInstance().init(configuration);
super.onCreate();
}
}
MainActivity 类
public class MainActivity extends Activity {
private News json;
List<NewsData> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Listview控件
final ListView lv = (ListView) findViewById(R.id.lv);
//启动一个异步
new AsyncTask<String, String, String>() {
@Override
protected String doInBackground(String... strings) {
getData();
return null;
}
@Override
protected void onPostExecute(String result) {
MyAdapter adapter = new MyAdapter();
lv.setAdapter(adapter);
super.onPostExecute(result);
}
}.execute();
}
protected void getData() {
try {
URL url = new URL( "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
int code = conn.getResponseCode();
if (code == 200) {
Log.i("adsafas", "============");
Gson gson = new Gson();
json = gson.fromJson(new InputStreamReader(conn.getInputStream()), News.class);
list = json.getNewslist();
}
} catch (Exception e) {
e.printStackTrace();
}
}
class MyAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView==null) {
convertView=View.inflate(MainActivity.this, R.layout.list_item,null);
holder=new ViewHolder();
holder.tv=(TextView) convertView.findViewById(R.id.tv);
holder.tv1 = (TextView) convertView.findViewById(R.id.tv1);
holder.tv2 = (TextView) convertView.findViewById(R.id.tv2);
holder.tv3 = (TextView) convertView.findViewById(R.id.tv3);
holder.iv = (ImageView) convertView.findViewById(R.id.iv);
convertView.setTag(holder);
}else {
holder=(ViewHolder) convertView.getTag();
}
holder.tv.setText(list.get(position).getCtime());
holder.tv1.setText(list.get(position).getDescription());
holder.tv2.setText(list.get(position).getTitle());
holder.tv3.setText(list.get(position).getUrl());
下面这行代码就是从网络上获取并且展示出来
ImageLoader.getInstance().displayImage(list.get(position).getPicUrl(), holder.iv);
return convertView;
}
}
public static class ViewHolder{
TextView tv,tv1,tv2,tv3;
ImageView iv;
}
}