android实现的图片查看器

    public class MainActivity extends AppCompatActivity {private EditText et_new_path;private ImageView iv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);et_new_path =(EditText)findViewById(R.id.et_new_path);iv = (ImageView) findViewById(R.id.iv);}public void click(View view){new Thread(){//在android中一般获取一个子线程来实现一个费时的操作。如果不明白,下面有解释public void run(){try{String path = et_new_path.getText().toString().trim()//获取输入框中的路径URL url = new URL (path);HttpURLConnection conn = (HttpURLConnection)url.openConnection();conn.setRequestMethod("GET");conn.setConnectTimeout(5000);int code = conn.getResponseCode();if(code == 200){InputStream in = conn.getInputStream();final Bitmap bitmap = BitmapFactory.decodeStream(in);runOnUiThread(new Runnable(){public void run(){iv.setImageBitmap(bitmap);}});}}catch(Exception e)//这里为为了方便这样写{e.printlStackTrace();}}}.start();}
}

1.为什么要创建一个子线程呢?

我个人最开始也是不明白其中的原因,于是从网上找一找解释。在android中的主线程的作用是负责控制UI Thread界面的显示、更新和控件交互。UI Thread所执行的内容花费的时间最好越短越好。而其他比较费时的工作(访问网络,下载数据,查询数据库等)都应该交給子线程执行,以免堵塞主线程。

2.runOnUiThread的用法:

在开发文档中的写法是:

Runs the specified action on the UI thread. If the current thread is the UI thread, then the action is executed immediately. If the current thread is not the UI thread, the action is posted to the event queue of the UI thread.

上面的英文的大致含义是:运行一个指定的动作,若果当前线程是UI线程,那么行动是立即执行。如果当前线程不是UI线程,行动是发布到UI线程的事件队列。

3.使用Handler 与 使用runOnUiThread的区别:

[1] 如果仅仅是更新一个UI则可以使用runOnUiThread来代替Handler

[2] 但是需要携带多条数据的时候还是需要使用handler与Message

最后别忘了加用户权限

<uses-permission android:name="android.permission.INTERNET"/>

转载于:https://www.cnblogs.com/gxcstyle/p/6807663.html

android 图片查看器相关推荐

  1. Android图片查看器

    /**  *本程序由070203110安树峰软件0705倡导,主编,贺鹏,贾飞,  *田镇源, 王振兴合作开发,仿冒必究  */ package com.csdn.shufeng1988; impor ...

  2. android图片查看器,实现图片加载进度监听,实现保存图片

    1.添加依赖 implementation 'com.github.bumptech.glide:glide:4.6.1' compile 'com.github.chrisbanes:PhotoVi ...

  3. 图片查看器:Android支持图片查看、缩放、滑动的PhotoView

    上效果: Android 图片查看器Demo效果 导入PhotoView,导入Glide. maven { url "https://jitpack.io" }implementa ...

  4. Android仿微信朋友圈图片展示效果,图片查看器

    现在越来越多的APP都会有图片展示,这里是模仿微信朋友圈图片展示效果,图片查看器. 主要分为4部分: 1.透明Activity 2.计算gridView下iamgeView Item所在位置 3.一张 ...

  5. Android简易图片管理器,一个简单仿微信朋友圈的图片查看器 PhotoViewer

    PhotoViewer 该图片查看器是模仿微信朋友圈查看图片编写 allprojects { repositories { ... maven { url 'https://jitpack.io' } ...

  6. android仿空间照片查看器,PhotoViewer 一个简单仿微信朋友圈的图片查看器

    该图片查看器是模仿微信朋友圈查看图片编写 allprojects { repositories { ... maven { url 'https://jitpack.io' } } } lastRel ...

  7. iVX案例制作(1)—图片查看器

    (一)功能: 图片以缩略图形式存放,可以点击将图片放大. 滚动鼠标实现图片放大与缩小. 点击左右箭头查看上下图片. 点击浮层可关闭图片. (二)效果演示 预览地址:图片查看器 (三)步骤: 1.点击对 ...

  8. 【React组件】写一个模仿蓝湖的图片查看器

    前言 最近公司让写一个可以自由拖拽放大的图片查看器,我寻思这还不简单,一顿操作猛如虎,俩小时后: 事实证明,一旦涉及到 DOM 的变换操作,如果很多细节考虑不全,抓过来就写,那基本就凉了.于是我仔细分 ...

  9. 图片html代码查看器,360度全景商品图片查看器

    360 Degrees Product Viewer360度全景商品图图片查看器是个非常简单的轻松展示图片全景插件. HTML Handle CSS .cd-product-viewer-wrappe ...

最新文章

  1. zabbix安装配置详解(一)
  2. Python Web学习笔记之TCP的3次握手与4次挥手过程
  3. python和linux哪个难学-请不要重复犯我在学习Python和Linux系统上的错误
  4. @ConfigurationProperties与@Value注解
  5. Fragment间的通信
  6. 懂集合吗?对,是dart中的集合
  7. MongoDB 设置权限认证
  8. 【USACO 2.3.4】Cow Tours 牛的旅行
  9. 常用的html语言,常用的HTML语言标记
  10. [思维导图学习五] 思维导图在企业培训中的应用[转]
  11. sum of digits
  12. elasticsearch-6.1.2 x-pack java transport client客户端连接
  13. 圣人、仁人、君子、善人、士、小人之名简释
  14. top1-Accuracy,top5-Accuracy举例精析
  15. python数独解题器_python 数独解
  16. 实时数据库,内存数据库,关系型数据库比较
  17. 谁还说我没表情包用?马上用Python采集上万张个表情包
  18. java 绘制动态的图形
  19. flask之人工智能
  20. mac安装pygraphviz找不到头文件

热门文章

  1. 集合类和JAVA多线程
  2. Cortex字库文件使用
  3. as导入项目没有gradle文件夹_【Studio】导入其他项目卡死
  4. [JSOI2009]瓶子和燃料【数论】
  5. Noip模拟题解题报告
  6. Vue : Expected the Promise rejection reason to be an Error
  7. 不规则物体形状匹配综述
  8. HBase的JavaAPI使用
  9. 怎么一步步编写简单的PHP的Framework(十九)
  10. 精心挑选的15款优秀 jQuery 文本特效插件和教程