ImageLoader_显示图片
public class MainActivity extends AppCompatActivity { private ListView lv;
private List<Bean.ResultBean.DataBean> list; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.listview);
try {
// jiexi("http://apis.juhe.cn/cook/query?key=900eb2e99f3c7b21f3914aefa914a327&menu="+ URLEncoder.encode("西红柿","utf-8")+"" );
jiexi("http://apis.juhe.cn/cook/query?key=900eb2e99f3c7b21f3914aefa914a327&menu=%E8%A5%BF%E7%BA%A2%E6%9F%BF");
} catch (Exception e) {
e.printStackTrace();
}
}
public void jiexi(final String path){
new AsyncTask<String ,Void ,String >(){
@Override
protected void onPostExecute(String s) { if (s!=null){
Gson gson=new Gson();
Bean bean = gson.fromJson(s, Bean.class);
List<Bean.ResultBean.DataBean> list = bean.getResult().getData();
MyBaseadapter adapter=new MyBaseadapter(MainActivity.this,list);
lv.setAdapter(adapter);
}
} @Override
protected String doInBackground(String... params) {
try {
URL url=new URL(params[0]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout(3000);
connection.setConnectTimeout(3000);
int code = connection.getResponseCode();
if (code==200){
InputStream is = connection.getInputStream();
return StreamTools.readFromNetWork(is); }
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}.execute(path);
}
}
以上是MainActivity里面的内容
public class MyBaseadapter extends BaseAdapter {
private Context context;
private List<Bean.ResultBean.DataBean> list;
public MyBaseadapter(Context context, List<Bean.ResultBean.DataBean> list) {
this.context=context;
this.list=list;
} @Override
public int getCount() {
return list!=null?list.size():0;
} @Override
public Object getItem(int position) {
return list.get(position);
} @Override
public long getItemId(int position) {
return position;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView=View.inflate(context,R.layout.item,null);
TextView tv= (TextView) convertView.findViewById(R.id.tv);
ImageView image= (ImageView) convertView.findViewById(R.id.image);
//ImageLoader.getInstance().displayImage(dataBeanList.get(position).getAlbums().get(0),
// ivIcon,MyApplication.getDisplayImageOptions());
tv.setText(list.get(position).getSteps().get(0).getStep());
ImageLoader.getInstance().displayImage(list.get(position).getSteps().get(0).getImg(),image,MyAppliction.getDiskImageoptoins());
return convertView;
}
}
以上是适配器
public class MyAppliction extends Application{
@Override
public void onCreate() {
super.onCreate();
// String s = Environment.getExternalStorageDirectory() + "/qqq";
// File file=new File(s);
ImageLoaderConfiguration config=new ImageLoaderConfiguration.Builder(this)
.threadPriority(100)
.threadPoolSize(3)
.memoryCacheExtraOptions(200,200)
.memoryCacheSize(2*1024*1024)
// .diskCache(new UnlimitedDiskCache(file))
.diskCacheSize(50*1024*1024)
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
.build();
ImageLoader.getInstance().init(config); }
public static DisplayImageOptions getDiskImageoptoins(){
DisplayImageOptions options=new DisplayImageOptions.Builder()
.showImageForEmptyUri(R.mipmap.ic_launcher)
.showImageOnFail(R.mipmap.ic_launcher)
.showImageOnLoading(R.mipmap.ic_launcher)
.cacheInMemory(true)
// .cacheOnDisk(true)
.build();
return options;
}
}
以上是固定Imageloader类
public static String readFromNetWork(InputStream is){ try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buffer = new byte[1024];
int len = 0;
while ((len = is.read(buffer)) != -1){ baos.write(buffer,0,len); } is.close();
baos.close();
return baos.toString(); } catch (Exception e) {
e.printStackTrace();
} return null; }
以上是gson解析类
ImageLoader_显示图片的更多相关文章
- img只显示图片一部分 或 css设置背景图片只显示图片指定区域
17:14 2016/3/22img只显示图片一部分 或 css设置背景图片只显示图片指定区域 background-position: 100% 56%; 设置背景图片显示图片的哪个坐标区域,图片左 ...
- python将图片转换为Framebuffer裸数据格式(终端显示图片)
要在ubuntu终端显示图片或者在板子的LCD显示图片,Framebuffer是一个简单易用的接口,直接写入像素信息即可. 但普通的图片带有头部信息或者编码格式不同,直接送入Framebuffer是显 ...
- Chrome 控制台新玩法-console显示图片以及为文字加样式
有兴趣的同学可以文章最后的代码复制贴到控制台玩玩. Go for Code 在正常模式下,一般只能向console 控制台输出简单的文字信息.但为了把信息输出得更优雅更便于阅读,除了cosole.lo ...
- 如何使用SOIL在VS2012的 C++环境下显示图片
先看下效果. 这是一个很无聊的功能....首先说下,我做这个功能的初衷并不是为了实现在控制台中显示图片...(这貌似很无聊) 而是因为自己想做用C做一个游戏:http://q.cnblogs.com/ ...
- Qt自适应大小显示图片,添加菜单
由于后面的图像处理需要UI,OpenCV自带也不怎么会,MFC实在懒得学的.听同学说Qt不错,就用Qt做UI了. 本文主要介绍三个内容:在Qt Creator中使用OpenCV2.Qt中自适应显示图片 ...
- EmguCV控件Emgu.CV.UI.ImageBox及C# picturebox显示图片连续刷新出现闪烁问题
在上一篇里,EmguCV(OpenCV)实现高效显示汉字及叠加 实现了视频叠加及显示,但存在问题,就是 Emgu.CV.UI.ImageBox及C# picturebox显示图片时都会出现闪烁,尤其 ...
- 显示图片的(自定义)吐司Toast
一般我们提示的时候都是直接提示文字的,其实Toast也可以显示图片 常用方法 Toast.makeText(context,text,duration)这返回一个Toast对象 toast.setDu ...
- python 读取并显示图片的两种方法
在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片.本人偏爱 matpoltlib,因为它的语法更像 matlab. 一.matplotlib 1. ...
- 【OpenCV练习】简单显示图片的代码
今天依照网上的教程尝试了一下最基本的图片显示. 首先想说一下编译时出现的问题,开始时在编译时会出现无法识别cvReleaseImage的情况,是因为没有在配置中包含相应的core的库文件. 加进去就解 ...
随机推荐
- ZIP:ZipStream
ZipInputStream: ZipInputStream(InputStream in) :创建新的 ZIP 输入流. int read(byte[] b, int off, int len) : ...
- 【webpack系列】webpack4.x入门配置基础(一)
一.前言 webpack在不断的迭代优化,目前已经到了4.29.6.在webpack4这个版本中,做了很多优化,引入了很多特性,将获得更多模块类型,.mjs支持,更好的默认值,更为简洁的模式设置,更加 ...
- Linux磁盘与分区
正在从新装载虚拟机,碰到磁盘分区一阵头大,花了一下午对分区的基本原理做了一个梳理 一.磁盘 硬盘内部结构:
- Kafka部署
Kafka依赖Zookeeper,虽然Kafka自带zookeeper,但是建议单独部署,所以先部署Zookeeper. 测试环境 citus1,citus2,citus3三台机器.对主机名和ip在/ ...
- 苹果IOS内购二次验证返回state为21002的坑
项目是三四年前的老项目,之前有IOS内购二次验证的接口,貌似很久都没用了,然而最近IOS的妹子说接口用不了,让我看看啥问题.接口流程时很简单的,就是前端IOS在购买成功之后,接收到receipt后进行 ...
- Excel催化剂图表系列之品味IBCS瀑布图观察企业利润构成
IBCS图表,每个细节都值得反复琢磨参悟,此篇给大家送上详尽的瀑布图方式下的利润数据观察.请不要拿Excel2016版提供的瀑布图与IBCS版的瀑布图作对比,那完全不是一个级别的,可以类比为拿一辆经济 ...
- 个人永久性免费-Excel催化剂功能第36波-新增序列函数用于生成规律性的循环重复或间隔序列
啃过Excel函数的表哥表姐们,一定对函数的嵌套.数组公式等高级的应用有很深的体会,威力是大,但也烧死不少脑细胞,不少人就在这样的绕函数中光荣地牺牲了,走向从入门到放弃.Excel催化剂的创立,初衷就 ...
- Android - ScrollView 使用小计 里面嵌套的View 如何设置全屏
设置ScrollView的属性android:fillViewport="true" 即可 <?xml version="1.0" encoding=&q ...
- Oracle RAC运维所遇问题记录一
Oracle11gR2,版本11.2.0.4集群测试环境运行正常 主机名:rac1,rac2 hosts文件: # Public172.17.188.12 rac1172.17.188.13 rac2 ...
- 第二篇:"空空如也"的博客应用
文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 建立博客应用 我们已经建立了 django 博客的项目工程,并且成功地运行了它.不过到目前为止这一切都还只是 django 为 ...