位置: 编程技术 - 正文

Android 获取并显示远程图片 Picasso框架的使用(一)(android获取手机的基本信息)

编辑:rootadmin

推荐整理分享Android 获取并显示远程图片 Picasso框架的使用(一)(android获取手机的基本信息),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android获取屏幕显示内容,android获取手机的基本信息,安卓获取当前view,android获取屏幕显示内容,android 获取application,android获取sha1,android获取当前context,android获取sha1,内容如对您有帮助,希望把文章链接给更多的朋友!

转载请注明出处:明桑Android

在Android开发中,常需要从远程获取图片并显示在客户端,当然我们可以使用原生HttpUrlConnection和AsyncTask等操作来完成,但并不推荐,因为这样不仅需要我们编写大量的代码,还需要处理缓存和下载管理等,最好自己封装成库或者采用第三方库;

Picasso:A Powerful Image Downloading and Caching Library for Android

根据名字就知道它是跟什么相关了(Picasso:毕加索)它的基本操作非常简单喔

文章主要介绍如何通过基本的HttpUrlConnection和AcyncTask实现获取远程图片;以及如何使用Picasso框架来实现,最后作为练习实现一个小Demo,希望对正在学习Android网络操作的同学有所帮助;

1,使用HttpUrlConnection和AsyncTask实现远程图片下载

使用HttpUrlConnection和AsyncTask获取远程图片,需要以下几步:

建立HttpURLConnection:首先需要和远程图片url建立一个连接:从connection中获取输入流:使用BitmapFactory.decodeStream(in)将输入流编码成Bitmap:imageView.setBitmap(bitmap),将bitmap对象添加至ImageView中:

我们知道在主线程中是无法执行以上网络操作的,所以需要AsyncTask,将耗时操作运行在后台线程中,对于HttpUrlConnection和AsyncTask具体操作不熟悉的可以看看我写的上一篇文章:Android网络编程 HttpUrlConnection HttpClient AsyncTask;

以下是使用上述代码完成图片下载的示例:

2,Picasso框架什么是Picasso:

强大的图片下载和缓存的第三方库;我觉得这就是对它最准确的描述了,至于其他特性,可以参见官网介绍:Picasso

如何使用Picasso

跟所有第三方库的使用一样,我们需要将其添加进我们的项目:可以直接下载最新.jar包 picasso-2.5.2.jar,也可以从github中将其clone到本地:picasso

如果是直接下载的.jar包,将其添加至项目libs文件夹下,并右键jar包,选择将其Add As Library:如果是clone的项目,你还是需要将其编译成jar包,然后根据第1步操作添加进项目:以下是编译过程: 首先进入你clone的Picasso目录下,然后在命令行执行如下命令

android update project -p

ant jar

2.Picasso的基本用法: 将Picasso添加进项目后,要使用它非常简单,只需要一行代码就能搞定:

短短的一行代码为我们解决了很多问题:

自动将图像缓存在本地通过图片压缩转换以减少内存消耗自动处理了ImageView的回收,即自动取消不在视野范围内的ImageView视图资源的加载;Android 获取并显示远程图片 Picasso框架的使用(一)(android获取手机的基本信息)

3.适配器:适配器自动发现和重用以前取消的下载:

4.图像格式转换:很多时候需要将图片进行格式转换或者剪裁以节省内存或者达到我们的布局效果:

剪裁大小:

自定义格式转换:为了实现更多你想要图片转换的效果,你可以自己实现一个实现了Transformation接口的类,然后将其对象传递给transform()方法:

5.占位符图片:所谓的占位符图像即当图片未正常显示时默认的图片,通过placeholder()设置,Picasso也支持设置图片显示错误时显示的默认图片,通过error()设置:

6.载入本地资源:除了通过网络下载图片,Picasso也可以载入本地图片资源:

7.调试:为了方便调试,你可以通过调用Picasso的setIndicatiorEnabled(true);可以让不同来源的图片显示一个不同的色彩标记;

以上的内容已经够多了,限于篇幅就把Picasso的练习Demo放到下篇文章吧!

总结:

是不是觉得Picasso的使用很简单了,如果应用中需要获取和显示大量的图片数据,何不考虑使用Picasso一下呢。来做个Demo感受下:Android 获取并显示远程图片 Picasso框架的使用(二)

参考资料:

Picasso官网

Sending and Managing Network Requests

微博: @明桑Android黑历史邮箱: <@.com>个人主页: 明桑战胜Android汪的黑历史

微信公众号: ITBird

android开发—开发环境的搭建 1.下载androidstudio编辑器打开

Android 获取并显示远程图片 Picasso框架的使用(二) 转载请注明出处:明桑Android在上篇文章中介绍了Picasso的基本用法,这篇文章作为以上的练习;本文代码github地址:UsePicasso实现效果:(动图请耐心加

ScrollView嵌套ListView的解决方案 在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容。在最近的工作中,遇见一个需求,需要将ListView嵌

标签: android获取手机的基本信息

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

上一篇:Android开发-再按一次退出程序 连续按两次退出程序(android开发模式)

下一篇:android开发—01开发环境的搭建

  • 新办企业购置设备怎么抵税
  • 洗车费怎么做会计分录
  • 小规模纳税人如何升级为一般纳税人
  • 利润表里的所得税怎么算
  • 广告服务商是什么意思
  • 哪些税金不得在借方增加
  • 汇款手续费的会计科目
  • 上市公司限制性股票行权时间限制多久
  • 应收分保合同准备材料
  • 上月增值税未申报本月能开票吗
  • 企业作为股东分红上税吗怎么算
  • 增值税销项税抵扣不完能退给企业吗?
  • 金蝶软件如何成批反审核
  • 出纳可以做记账表格吗
  • 建筑挂靠管理费用如何账务处理?
  • 产品质量认证的基本条件有哪些
  • 税前利润弥补亏损
  • 1697511149
  • win10如何查看显卡版本
  • 华为鸿蒙系统开发平台
  • 生产税有哪些
  • 电脑如何修改硬盘模式
  • php双冒号和箭头
  • sixtypopsix.exe - sixtypopsix是什么进程 有什么用
  • PHP:iterator_count()的用法_spl函数
  • 哪家银行理财产品收益率高
  • php制作数字验证码
  • 其他业务支出属于什么会计科目
  • 深度学习&故障诊断初学者 - 学习路线
  • 玩的最多的手机网游
  • phpexcel插件
  • symfony框架的特点
  • thinkphp cli
  • jquery制作轮播切换效果
  • AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介、安装、使用方法之详细攻略
  • php session实例
  • vue实现简易购物车
  • 计入资本公积的金额怎么算
  • 融资租入固定资产的入账价值
  • php调用第三方接口代码
  • php文件缓存类
  • python replace 多个
  • 营业收入比销售商品收到的现金大
  • 加计抵减进项税额怎么计算
  • 现金流量表财务报表
  • 事业单位会计制度
  • 以旧换新有发票抵扣吗
  • 无票收入需要缴纳文化事业建设税吗
  • 物业 收电费
  • 确认资产减值损失后可以转回的
  • 利润分配明细科目有哪些
  • 其他应收款贷方余额怎么调整
  • 库存商品与存货总额之比
  • 小规模纳税人财务报表季报怎么填
  • 试算平衡表的编制方法
  • 固定资产处置相关问题
  • 银行承兑到期后怎么兑现
  • 建设工程毛利率如何计算
  • MySQL利用视图查询员工进货数量要求输出姓名进货数量
  • win7系统硬盘安装版
  • win8电脑设置
  • sata驱动怎么装
  • windowsxp优点
  • CentOS 6.x 到 CentOS 7 的升级过程
  • win7系统没有光驱盘符
  • win7系统怎么查看内存
  • Android开发如何找到TextView指定文本
  • 如何解决android代码红线
  • 每天看30分钟手机可以吗
  • opengl房子建模
  • 简述javascript执行原理
  • 杀死oracle进程
  • angular const
  • unity3d官方教程
  • No active compatible AVD's or devices found. Relaunch this configuration after connecting a device o
  • 工资6200要交多少个人所得税
  • 陕西省国家税务局
  • 税务局六大攻坚
  • 如何查询企业是小规模还是一般
  • 新疆税务局网站官网首页
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设