位置: 编程技术 - 正文

使用Unversial-image-loader来异步加载网络图片和本地图片(一)(使用灭火器时要对准火焰的什么部位喷射)

编辑:rootadmin

推荐整理分享使用Unversial-image-loader来异步加载网络图片和本地图片(一)(使用灭火器时要对准火焰的什么部位喷射),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:使用的拼音,使用的英文,使用灭火器时要对准火焰的什么部位喷射,使用权资产,使用粗盐热敷十大危害,使用筷子就餐会不会传染乙肝病毒,使用时间,使用灭火器时要对准火焰的什么部位喷射,内容如对您有帮助,希望把文章链接给更多的朋友!

现在一个应用最最直观表达意思的就是图片了吧,现在互联网就是以图片加视频的形式主流传播信息,所以图片的显示是如此的重要,最近接触到了一个开源库Universal-Image-Loader,用来异步加载图片的,包括网络上和本地的。

Github项目地址: 2.随意配置图片的参数 3.支持图片的缓存 4.图片下载时的监听 5.根据ImageView的大小自动对图片进行缩小 6.在listView和GridView里滑动屏幕的时候,自动停止加载。。。

总之,这些功能对于一个app的开发简化了很多很多!

下载项目源码后,把universal-image-loader.jar包导入到自己的项目里,这次先学习加载网络图片

Java代码:

加载网络图片

第一步:

// DisplayImageOptions用于指导每一个Imageloader根据网络图片的状态// (空白、下载错误、正在下载)显示对应的图片,是否将缓存加载到磁盘上,// 下载完后对图片进行怎么样的处理

DisplayImageOptions options = new DisplayImageOptions.Builder().cacheOnDisc(true)// 加载图片时会在磁盘中加载缓存.cacheInMemory(true)// 加载图片时会在内存中加载缓存.displayer(new FadeInBitmapDisplayer()).bitmapConfig(Config.RGB_).imageScaleType(ImageScaleType.EXACTLY).build();

第二步

// ImageLoaderConfiguration是针对图片缓存的全局配置,// 主要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(getApplicationContext()).memoryCache(new UsingFreqLimitedMemoryCache( * * )).defaultDisplayImageOptions(options).build();// ImageLoader是具体下载图片,缓存图片,显示图片的具体执行类,// 它有两个具体的方法displayImage、loadImageImageLoader.getInstance().init(configuration);

第三步

// ImageLoader是具体下载图片,缓存图片,显示图片的具体执行类,// 它有两个具体的方法displayImage、loadImageImageLoader.getInstance().init(configuration);

使用Unversial-image-loader来异步加载网络图片和本地图片(一)(使用灭火器时要对准火焰的什么部位喷射)

以上三步是对ImageLoader的设置,基本就是对全部参数的设置

//得到网络图片的url的list名字,然后将参数传递到适配器的构造函数里进行处理,详细代码看后面

mList = initViewData();WaterFallAdapter adapter = new WaterFallAdapter(mList,getApplicationContext());netWorkList.setAdapter(adapter);netWorkList.setOnRefreshListener(new OnRefreshListener() {@Overridepublic void onRefresh() {// TODO Auto-generated method stub// 下拉刷新要做的事 // 刷新完成后记得调用这个netWorkList.onRefreshComplete();}});

接下来我在适配器里面还加入了一些方法

// 得到目标网络地址,刚刚上面传递过来的,然后在displayImage里面传递进去这个参数String url = list.get(position);ImageLoader.getInstance().displayImage(url, viewHolder.imageView,new ImageLoadingListener() {@Overridepublic void onLoadingCancelled(String arg0, View arg1) {// TODO Auto-generated method stub}@Overridepublic void onLoadingComplete(String arg0, View arg1,Bitmap arg2) {// TODO Auto-generated method stub}@Overridepublic void onLoadingFailed(String arg0, View arg1,FailReason reason) {// TODO Auto-generated method stubString message;switch (reason.getType()) {case IO_ERROR:message = "Input/Output error";break;case DECODING_ERROR:message = "can not be decoding";break;case NETWORK_DENIED:message = "Downloads are denied";break;case OUT_OF_MEMORY:message = "内存不足";Toast.makeText(context, message, Toast.LENGTH_LONG).show(); break;case UNKNOWN:message = "未知的错误";Toast.makeText(context, message, Toast.LENGTH_LONG).show();break;}}// 开始加载的时候所处理的事@Overridepublic void onLoadingStarted(String arg0, View arg1) {// TODO Auto-generated method stubviewHolder.imageView.setImageDrawable(drawable);}});viewHolder.imageView.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(context, "您点击了第" &#; position &#; "张图",Toast.LENGTH_SHORT).show();}});

以上步骤就是用Universal-Image-Loader这个控件实现的加载网络图片。对了,别忘了在AndroidManiFest.XML文件里注册权限:

<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

因为要下载网络图片并且配置缓存,所以读写权限。

效果图来一张:

这些图片就是我使用这个控件得到的图片,效果还不错,就这样了,下次继续学习这个控件

Android开源框架的SlidingFragment的使用 效果如下:直接上代码,留着以后用,代码目录结构如下:其中BaseFragment.java是另外5个Fragment的基类,代码如下:packagecom.xuliugen.newsclient.fragment.base;import

在Listview里面加入Spinner Spinner会在很多的场景下面使用,比如选择城市,学校等,Listview的使用场景我也不用多说了,作为一个android菜鸟,我经常使用Listview。后来做项目中的

第二章,动态添加按钮(Android) packagecom.example.demo;importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.Button;importandroid.widget.LinearLayout;publicclassMainActivityextendsActivity{privateLinearLayoutll;

标签: 使用灭火器时要对准火焰的什么部位喷射

本文链接地址:https://www.jiuchutong.com/biancheng/385975.html 转载请保留说明!

上一篇:23种设计模式全解析(23种设计模式全解)

下一篇:Android开源框架的SlidingFragment的使用(android原生框架)

  • 税务专家田野
  • 税务知识:同期资料应包括哪些内容?
  • 外购商品结转成本分录
  • 软件维护费属于费用还是资产
  • 公司废料收入如何分配
  • 免抵退的意思
  • 自行研发无形资产暂时性差异
  • 耕地占用税滞纳金是否能减免
  • 坏账准备确认时怎么做账
  • 出租屋物品损坏怎么赔偿
  • 银行内部转账会计分录
  • 业务宣传费超出部分以后年度怎样处理
  • 增值税和消费税申报对比不符怎么处理
  • 小微企业按季度预缴企业所得税
  • 高档化妆品消费税的计算公式
  • 总公司中标分公司开票避税
  • 企业采购设备有哪几种情形
  • 2021年如何申报海外收入
  • 公司入职员工
  • 实物出资需要发票吗
  • 一般纳税人是否享受小型微利企业优惠政策
  • 资产减值损失借方余额在利润表怎么填列
  • 个税汇算清缴申报错误怎么办
  • 如何解决浏览器禁止访问
  • 纳税人办理退税手续流程
  • 什么是租赁公司的主营业务
  • 进项税和销项税怎么理解
  • thinkphp d方法
  • 华为手机开热点后wlan自动关闭
  • 按销售收入比例分摊进项税额按月还是按年
  • 零售企业退货分录
  • 其他应付款怎样结转
  • 盈余公积弥补以前年度亏损所有者权益会增加
  • 河马是站在睡觉吗
  • ecshop有哪些bug
  • 局部规划算法
  • vue3项目实战
  • 公司借款给个人怎么写借条
  • javascript创建对象及应用
  • 完善固定资产管理的方案
  • 赠品发票金额为零怎么办
  • 被冲红发票怎么处理
  • 如何减税降税
  • 预提跨年工资怎么处理
  • SQL Report Builder 报表里面的常见问题分析
  • 发票抬头能否开分支机构
  • SQL Server实现split函数分割字符串功能及用法示例
  • 研发费用辅助账怎么做
  • 暂估金额与发票金额的区别
  • 当月发生业务下月开票如何做账
  • 支付关税现金流放哪儿
  • 地租钱不付如何为
  • 银行代发工资业务收费吗
  • 展厅租赁税率
  • 国家规定房屋买卖中介费
  • 从事小额零星经营业务的个人,其支出
  • 净现值率和现值指数与净现值什么时候它们评价结果一致
  • mysql存储引擎面试题
  • MySQL 5.7 mysql command line client 使用命令详解
  • win8.1配置要求
  • office技术预览版和增强版
  • linux中cat命令的用法含义
  • win8切换管理员账户
  • 苹果公司joz
  • sdstat.exe - sdstat是什么进程 有什么用
  • 怎样加快缩略图的大小
  • w10开机欢迎界面设置
  • 360安全卫士升级后的安装包在哪里
  • win7网络信号差
  • linux查看使用率命令
  • unity ar sdk
  • node运行js文件
  • 杂志内页广告
  • jQuery中each()、find()和filter()等节点操作方法详解(推荐)
  • 安卓手机图片缓存在哪
  • androidobb
  • 个人所得税完税证明网上打印
  • 地税税务登记代码怎么查
  • 云南省国家税务总局
  • 个体商户营业额多少万以下免税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设