从网络上获取ImageLoader并且ListView上展示
2017-11-08 10:03
239 查看
从网络上获取ImageLoader并且ListView上展示
原创 2017年08月10日 16:01:45首先要在清单文件里添加网络权限
<uses-permission android:name="android.permission.INTERNET"/>
引入.MyApplication
<application
android:name="com...imageloaderlistview.MyApplication"
导入一个依赖
compile files('libs/universal-image-loader-1.9.3-with-sources.jar')
MyApplication 类
public class MyApplication extends Application{@Override
public void onCreate() {
ImageLoaderConfiguration configuration=ImageLoaderConfiguration.createDefault(this);
ImageLoader.getInstance().init(configuration);
super.onCreate();
}
}
[b]MainActivity 类
[/b]
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;
}
}
相关文章推荐
- WEEK2--DrawerLayout 和 ListView 获取网络数据并展示
- 获取网络图片展示到ListView上
- 网络获取数据展示到ListView练习
- 获取网络数据进行Gson解析用ListView展示
- WEEK2--DrawerLayout 和 ListView 获取网络数据并展示
- HttpRulconnection 基础使用--->将网络获取的资源 用ListView展示
- 网络json解析展示listView
- 纪录片——Android中ListView网络数据获取
- Android ListView从网络获取图片及文字显示
- Imageloader简单展示Listview
- Android ListView从网络获取图片及文字显示
- Android ListView从网络获取图片及文字显示
- listview获取edittext中输入的数据,显示,并且实现可删除功能
- viewpager+handler获取网络数据无限自动轮播,xlistview添加头部viewpager,点击条目跳转百度
- Android ListView的Item中含有EditText,获取EditText里面的值并且刷新ListView值不改变
- json数据解析,并实现将网络json数据获取用listview显示
- Android ListView从网络获取图片及文字显示
- 【Android】ListView监听上下滑动(设置滚动监听判断ListView的滚动方向同时获取屏幕高度、ListView实际高度,判断是否需要展示返回顶部按钮(具体逻辑请看代码--附有详细注释)。
- 网络数据请求展示为无限轮播图 ViewPager+XListView+Fragment+ImageLoader
- 获取网络数据填充Listview