Android中如何实现一个图片查看器
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,本篇内容主要讲解"Android中如何实现一个图片查看器",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Android中如何实现一个图片查看器"吧!具体代码
千家信息网最后更新 2025年11月13日Android中如何实现一个图片查看器
本篇内容主要讲解"Android中如何实现一个图片查看器",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Android中如何实现一个图片查看器"吧!
具体代码如下:
public class MainActivity extends Activity {private EditText et_path;private ImageView iv; //创建handler 对象 // private Handler handler = new Handler(){ // // //处理消息 // public void handleMessage(android.os.Message msg) { // // Bitmap bitmap = (Bitmap) msg.obj;// iv.setImageBitmap(bitmap); // };};@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // [1]找到我们关心的控件 et_path = (EditText) findViewById(R.id.et_path); iv = (ImageView) findViewById(R.id.iv); }// [2]点击按钮进行查看 指定路径的源码public void click(View v) { new Thread(){public void run() { try { //[2.1]获取访问图片的路径 String path = et_path.getText().toString().trim(); File file = new File(getCacheDir(),Base64.encodeToString(path.getBytes(), Base64.DEFAULT)); if (file.exists()&& file.length()>0) { //使用缓存 的图片 System.out.println("使用缓存图片 "); final Bitmap cacheBitmap = BitmapFactory.decodeFile(file.getAbsolutePath()); //把cacheBitmap 显示到iv上 // Message msg = Message.obtain(); // msg.obj = cacheBitmap; // handler.sendMessage(msg); //发消息 runOnUiThread(new Runnable() { public void run() { iv.setImageBitmap(cacheBitmap); } }); }else{ //第一次访问 联网获取数据 System.out.println("第一次访问连接网络"); //[2.2]创建url对象 URL url = new URL(path); //[2.3]获取httpurlconnection HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //[2.4]设置请求的方式 conn.setRequestMethod("GET"); //[2.5]设置超时时间 conn.setConnectTimeout(5000); //[2.6]获取服务器返回的状态码 int code = conn.getResponseCode(); if (code == 200) { //[2.7]获取图片的数据 不管是什么数据(txt文本 图片数据 )都是以流的形式返回 InputStream in = conn.getInputStream(); //[2.7]缓存图片 谷歌给我们提供了一个缓存目录 FileOutputStream fos = new FileOutputStream(file); int len = -1; byte[] buffer = new byte[1024];//1kb while((len=in.read(buffer))!=-1){ fos.write(buffer, 0, len); } fos.close(); in.close(); //[2.8]通过位图工厂 获取bitmap(bitmap) final Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath()); //这句api 不 管你在什么位置上调用 action都运行在UI线程里 runOnUiThread(new Runnable() { public void run() { //run方法一定执行在UI线程 里 // [2.9]把bitmap显示到iv上 iv.setImageBitmap(bitmap); } });// Message msg = Message.obtain(); //使用msg的静态方法 可以减少对象的创建// msg.obj = bitmap;// handler.sendMessage(msg); //发消息 } } } catch (Exception e) { e.printStackTrace(); } };}.start();}}到此,相信大家对"Android中如何实现一个图片查看器"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
图片
数据
缓存
对象
方法
消息
内容
第一次
线程
路径
学习
实用
更深
代码
位图
位置
兴趣
实用性
实际
工厂
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全人才发展指导中心
二级网络安全员
数据库去最新的一条数据库
怀柔区一站式网络技术信息推荐
河北学子软件开发招聘
合肥滨湖软件开发培训排名
怎么复制数据库记录到excel
360软件开发者资质视频
不查数据库情况下实现id自增
北京按摩椅软件开发
查看一个数据库用英文怎么说
浙江服务器标准机柜
服务器为什么选择在贵州云空间
韩国lg服务器
世界第一大网络安全公司
大疆网络安全面试难度
天津软件开发培训班
数据库安全性课后答案
皮甲头部六零数据库
hdfs是一种关系型数据库吗
西青区信息网络技术售后保障
软件开发中的特征值
无锡安卓软件开发机构
网络安全下半年工作计划
自主知识产权的专利数据库
ftp服务器搭建后管理
学校网络安全排查包括哪些
服务器 安全模块
曲靖软件开发前途
后端开发面试考不考网络技术