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();}}

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

(0)

相关推荐

  • Android 网络图片查看器与网页源码查看器

    在AndroidManifest.xml里面先添加权限访问网络的权限: <uses-permission android:name="android.permission.INTERNET"/> 效果图如下: 下面是主要代码: package com.hb.neting; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import android.ann

  • android网络图片查看器简单实现代码

    本文实例为大家分享了android网络图片查看器的具体代码,供大家参考,具体内容如下 效果图: 1.输入一个图片url 2.转换成bitmap位图 3.展示到ImageView上 xml: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t

  • Android仿微信朋友圈图片查看器

    再看文章之前,希望大家先打开自己的微信点到朋友圈中去,仔细观察是不是发现朋友圈里的有个"九宫格"的图片区域,点击图片又会跳到图片的详细查看页面,并且支持图片的滑动和缩放?这个功能是不是很常用呢?!那么我今天正好做了这个Demo,下面为大家讲解一下.首先按照惯例先看一下效果图吧,尤其不会录制gif动画(哎~没办法,模拟器不支持多点触控,刚好我的手机又没有Root,不能录屏,悲催啊,大家见谅,想要看真实效果的话,烦请移到文章最下方转载文章中进行源码下载,点击下载源码,运行后再看效果哈~~)

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

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

  • 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 简单的图片查看器源码实现,分享给大家,具体如下: public class MainActivity extends Activity { private EditText et_path; private ImageView iv; //创建handler 对象 // private Handler handler = new Handler(){ // // //处理消息 // public void handleMessage(android.os.Message

  • 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自定义Toast示例(附源码)

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

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

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

  • jQuery 图片查看器插件 Viewer.js用法简单示例

    本文实例讲述了jQuery 图片查看器插件 Viewer.js用法.分享给大家供大家参考,具体如下: html: <!-- 引入文件 --> <link rel="stylesheet" href="/css/viewer.min.css" rel="external nofollow" > <script src="/js/viewer.min.js"></script> &l

  • viewpager+photoview实现图片查看器

    本文实例为大家分享了Android实现图片查看器的具体代码,供大家参考,具体内容如下 效果需要两个手指禁止缩放,所以没有光标,只能用手机投放电脑上录制动态图片: demo中实用了一个第三方的photoview,非常简单实用:可实现图片双击放大,手势放大缩小,当手指离开屏幕时如果图片小于原图可自动恢复原图大小,可实现点击监听,长按图片监听: 整个demo非常简单,整体就是一个activity,页面布局只有一个viewpager和textview <RelativeLayout xmlns:andr

  • C#如何实现图片查看器

    这篇文章将简单介绍下如何使用C#来实现一个图片查看器的功能的,该工具保存的功能有: 1. 可以通过"上一张" "下一张"这样的按钮来轮换浏览图片  2.实现对图片的旋转  3.实现对旋转后图片的保存功能.本程序不仅提供旋转90/180/270这样的实现,同时提供一个方法来完成旋转任意角度的实现 4.该程序未实现Windows图片查看图片缩放的功能,这部分的功能主要要点是改变图片在PictureBox控件中的高度和宽度就可以的 二.实现思路 2.1 图片轮换浏览功能的

随机推荐