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); // };}; @Override protected 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();}}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-11-11 03:14:19

Android 简单的图片查看器源码实现的相关文章

Android通过访问网页查看网页源码实例详解

Android通过访问网页查看网页源码 1.添加网络权限 <!--访问网络的权限--> <uses-permission android:name="android.permission.INTERNET"/> 2.获取网络中网页的数据 /** * 获取网页HTML源代码 * @param path 网页路径 */ public static String getHtml(String path) throws Exception { URL url=new U

基于jQuery的一个简单的图片查看器

项目中自己diy了一个图片查看器.因为初始代码不是自己的,只是在上面改了一下也没有弄的很漂亮.等以后有时间了在重写一下样式和封装,作为备用的只是积累吧.如果有童鞋有用到,完全可以在此基础上改,比较容易,代码也比较简单 图片查看器主要有几个功能: 1.显示图片和图片信息(图片名称.发布者等等) 2.切换图片 3.关闭图片查看器   初始化接口函数pictureViewer.init: function(picInfos,tapNumber,isBig) picInfos: 传入图片组信息,必须,格

Android编程实现网络图片查看器和网页源码查看器实例_Android

本文实例讲述了Android编程实现网络图片查看器和网页源码查看器.分享给大家供大家参考,具体如下: 网络图片查看器 清单文加入网络访问权限: <!-- 访问internet权限 --> <uses-permission android:name="android.permission.INTERNET"/> 界面如下:   示例: public class MainActivity extends Activity { private EditText ima

Android编程实现网络图片查看器和网页源码查看器实例

本文实例讲述了Android编程实现网络图片查看器和网页源码查看器.分享给大家供大家参考,具体如下: 网络图片查看器 清单文加入网络访问权限: <!-- 访问internet权限 --> <uses-permission android:name="android.permission.INTERNET"/> 界面如下: 示例: public class MainActivity extends Activity { private EditText image

超简单实现Android自定义Toast示例(附源码)

Bamboy的自定义Toast,(以下称作"BToast") 特点在于使用简单, 并且自带两种样式: 1)普通的文字样式: 2)带图标样式. 其中图标有√和×两种图标. BToast还有另外一个特点就是: 系统自带Toast采用的是队列的方式,当前Toast消失后,下一个Toast才能显示出来: 而BToast会把当前Toast顶掉, 直接显示最新的Toast. 那么,简单三步,我们现在就开始自定义一下吧! (一).Layout: 要自定义Toast, 首先我们需要一个XML布局. 但

android 类qq空间图片查看器。出现好多错误 求大神帮忙。小女涉入甚浅。

问题描述 android 类qq空间图片查看器.出现好多错误 求大神帮忙.小女涉入甚浅. 11-20 11:26:39.629: E/AndroidRuntime(1136): FATAL EXCEPTION: main 11-20 11:26:39.629: E/AndroidRuntime(1136): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.desktop/co

Android实现的可以调整透明度的图片查看器实例_Android

本文以实例讲解了基于Android的可以调整透明度的图片查看器实现方法,具体如下:  main.xml部分代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"

Android实现的可以调整透明度的图片查看器实例

本文以实例讲解了基于Android的可以调整透明度的图片查看器实现方法,具体如下: main.xml部分代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" a

Android View事件分发和消费源码简单理解

Android View事件分发和消费源码简单理解 前言: 开发过程中觉得View事件这块是特别烧脑的,看了好久,才自认为看明白.中间上网查了下singwhatiwanna粉丝的读书笔记,有种茅塞顿开的感觉. 很重要的学习方法:化繁为简,只抓重点. 源码一坨,不要指望每一行代码都看懂.首先是没必要,其次大量非关键代码会让你模糊真正重要的部分. 以下也只是学姐的学习成果,各位同学要想理解深刻,还需要自己亲自去看源码. 2.源码分析 由于源码实在太长,而且也不容易看懂,学姐这里就不贴出来了,因为没必