Android中如何实现一个图片查看器

Android中如何实现一个图片查看器

本篇内容主要讲解“Android中如何实现一个图片查看器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android中如何实现一个图片查看器”吧!

具体代码如下:

Android中如何实现一个图片查看器

publicclassMainActivityextendsActivity{privateEditTextet_path;privateImageViewiv;//创建handler对象//privateHandlerhandler=newHandler(){//////处理消息//publicvoidhandleMessage(android.os.Messagemsg){////Bitmapbitmap=(Bitmap)msg.obj;//iv.setImageBitmap(bitmap);//};};@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//[1]找到我们关心的控件et_path=(EditText)findViewById(R.id.et_path);iv=(ImageView)findViewById(R.id.iv);}//[2]点击按钮进行查看指定路径的源码publicvoidclick(Viewv){newThread(){publicvoidrun(){try{//[2.1]获取访问图片的路径Stringpath=et_path.getText().toString().trim();Filefile=newFile(getCacheDir(),Base64.encodeToString(path.getBytes(),Base64.DEFAULT));if(file.exists()&&file.length()>0){//使用缓存的图片System.out.println("使用缓存图片");finalBitmapcacheBitmap=BitmapFactory.decodeFile(file.getAbsolutePath());//把cacheBitmap显示到iv上//Messagemsg=Message.obtain();//msg.obj=cacheBitmap;//handler.sendMessage(msg);//发消息runOnUiThread(newRunnable(){publicvoidrun(){iv.setImageBitmap(cacheBitmap);}});}else{//第一次访问联网获取数据System.out.println("第一次访问连接网络");//[2.2]创建url对象URLurl=newURL(path);//[2.3]获取httpurlconnectionHttpURLConnectionconn=(HttpURLConnection)url.openConnection();//[2.4]设置请求的方式conn.setRequestMethod("GET");//[2.5]设置超时时间conn.setConnectTimeout(5000);//[2.6]获取服务器返回的状态码intcode=conn.getResponseCode();if(code==200){//[2.7]获取图片的数据不管是什么数据(txt文本图片数据)都是以流的形式返回InputStreamin=conn.getInputStream();//[2.7]缓存图片谷歌给我们提供了一个缓存目录FileOutputStreamfos=newFileOutputStream(file);intlen=-1;byte[]buffer=newbyte[1024];//1kbwhile((len=in.read(buffer))!=-1){fos.write(buffer,0,len);}fos.close();in.close();//[2.8]通过位图工厂获取bitmap(bitmap)finalBitmapbitmap=BitmapFactory.decodeFile(file.getAbsolutePath());//这句api不管你在什么位置上调用action都运行在UI线程里runOnUiThread(newRunnable(){publicvoidrun(){//run方法一定执行在UI线程里//[2.9]把bitmap显示到iv上iv.setImageBitmap(bitmap);}});//Messagemsg=Message.obtain();//使用msg的静态方法可以减少对象的创建//msg.obj=bitmap;//handler.sendMessage(msg);//发消息}}}catch(Exceptione){e.printStackTrace();}};}.start();}}

到此,相信大家对“Android中如何实现一个图片查看器”有了更深的了解,不妨来实际操作一番吧!这里是恰卡编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

发布于 2022-04-15 22:29:49
收藏
分享
海报
0 条评论
30
上一篇:Android中如何实现手势翻页效果 下一篇:Android中如何修改viewpage的滑动速度
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码