网络请求 + imageloader
来源:互联网 发布:python 量化交易策略 编辑:程序博客网 时间:2024/05/21 09:17
网络请求 + imageloader
//异步任务
class MyTask extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... params) {
//从网络获取数据
try {
URL url = new URL(params[0]);
System.out.println(params[0]+" llllllllll");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
int code = connection.getResponseCode();
if (code == 200) {
InputStream inputStream = connection.getInputStream();
String str;
StringBuilder builder = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
while ((str = reader.readLine()) != null) {
builder.append(str);
}
return builder.toString();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
//更新UI
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
//获取请求的数据
if (s != null) {
Gson gson = new Gson();
DataBean bean = gson.fromJson(s, DataBean.class);
if (bean != null) {
list = bean.data;
if(list!=null){
MyAdapter adapter=new MyAdapter(MainActivity.this,list);
mylist.setAdapter(adapter);}
}
}
}
}
//ImageLoaderConfiguration:
是针对图片缓存的全局配置,主要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置
getInstance()
得到ImageLoader的单例。通过双层是否为 null 判断提高性能
init(ImageLoaderConfiguration configuration)
初始化配置参数,参数configuration为ImageLoader的配置信息,包括图片最大尺寸、任务线程池、磁盘缓存、下载器、解码器等等。
实现中会初始化ImageLoaderEngine engine属性,该属性为任务分发器。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//设置初始化;
ImageLoaderConfiguration configuration=ImageLoaderConfiguration.createDefault(MainActivity.this);
ImageLoader.getInstance().init(configuration);
initView();
String url = "http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0";
MyTask task = new MyTask();
task.execute(url);
//传值
mylist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent=new Intent(MainActivity.this,DetailActivity.class);
DataBean.ResultBean bean=list.get(position);//(DataBean.ResultBean)parent.getAdapter().getItem(position);
intent.putExtra("img",bean.IMAGEURL);
intent.putExtra("title",bean.TITLE);
intent.putExtra("subtitle",bean.SUBTITLE);
intent.putExtra("time",bean.SHOWTIME);
intent.putExtra("name",bean.FROMNAME);
startActivity(intent);
//跳转之后接值
@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
setContentView(R.layout.detail_layout);
initView();
Intent intent=getIntent();
String url=intent.getStringExtra("img");
String title=intent.getStringExtra("title");
String subtitle=intent.getStringExtra("subtitle");
String time=intent.getStringExtra("time");
String name=intent.getStringExtra("name");
ImageLoader.getInstance().displayImage(url,detail_img);
detail_name.setText(name);
detail_title.setText(title);
detail_subtitle.setText(subtitle);
detail_time.setText(time);
- 网络请求+ImageLoader
- 网络请求ImageLoader+SQLite
- Imageloader+banner网络请求
- 网络请求ImageLoader+SQLite
- 网络请求 + imageloader
- 网络请求图片ImageLoader
- ImageLoader+网络请求+ListView多条目加载
- ImageLoader+网络请求+List多条目展示
- listview中网络请求图片 用Imageloader加载闪烁问题
- Xutils请求数据imageloader加载图片+网络判断
- 动漫-无限轮播小圆点+判断网络+网络请求+多条目加载XListView+ImageLoader
- 自己动手封装图片三级缓存网络请求框架(类似imageloader)
- (一个常用的案例)Fragment xlistview pull 网络请求 刷新分页加载 ImageLoader
- 用ImageLoader缓存,volley网络请求百度api的图片显示在listview(demo)
- ImageLoader 单独封装(处理网络请求的图片,与默认图片、图片缓存’)
- 网络数据请求展示为无限轮播图 ViewPager+XListView+Fragment+ImageLoader
- 无限轮播+网络请求+GridView展示数据+ImageLoader-SD卡缓存+点击轮播图跳转页面
- imageloader加载网络图片
- 聊天室的实现(消息实时刷新)
- (Ubuntu系列)——Linux下软件的安装与卸载(命令行模式)
- jquery实现图片拖动
- django学习之路(四)开发微信公众号
- 数据缓存+listview分页加载+日夜间模式切换
- 网络请求 + imageloader
- 获取天气预报
- 英语分享总结
- 机器学习&深度学习&大数据&数据库 学习资料
- 欢迎使用CSDN-markdown编辑器
- FP-growth算法,高效发现频繁项集,找出最短时序路径
- NOIP2014-普及组复赛-第1题-珠心算测验
- ThreadLocal用法详解和原理
- Prime Land