使用URL读取网络图片资源
URL(Uniform Resource Locator) 对象代表统一资源定位器。
代码如下:
public class MainActivity extends ActionBarActivity {
private ImageView image;
//从网络下载得到的图片
Bitmap bitmap;
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
if(msg.what == 0x123){
image.setImageBitmap(bitmap);
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView)this.findViewById(R.id.show);
//开启新线程,新线程中不能直接修改UI控件的内容。
new Thread(){
@Override
public void run() {
try {
//定义URL对象,给出URL地址
URL url = new URL("http://www.duducat.com/home/upload/14477558734.jpg");
//打开URL对应的资源的输入流
InputStream is = url.openStream();
//从InputStream中解析出图片
bitmap = BitmapFactory.decodeStream(is);
//发送消息,通知UI组件显示该图片
handler.sendEmptyMessage(0x123);
is.close();
//再次打开URL对应的资源输入流
is = url.openStream();
//打开手机文件对应的输入流
OutputStream os = openFileOutput("14477558734.jpg", MODE_WORLD_READABLE);
byte [] buff = new byte[1024];
int hasRead = 0;
//将URL对应的资源下载到本地
while((hasRead = is.read(buff)) > 0){
os.write(buff, 0, hasRead);
}
is.close();
os.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}.start();
}
千万别忘了在AndroidManifest.xml文件中授予网络的权限。
<uses-permission android:name="android.permission.INTERNET"/>
使用URL读取网络图片资源的更多相关文章
- 【图片下载-代码】java下载网络图片资源例子
/** * @Description 下载网络图片资源 * @param imageUrl 图片地址 * @return String 下载后的地址 * @author SUNBIN * @date ...
- C#读取网络流,读取网络上的js文件
写博客的目的就是让其他人少走弯路. C#读取网络上的流和js文件出现的问题 一开始看了今天博客园上的推荐文章,用C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子),然 ...
- 使用URL创建网络连接、网络流的阻塞问题
在读取网络中流数据时,通常要创建一个网络连接.然而在创建URL连接时,我们通常会忽略掉设置ConnectTimeout,以及ReadTimeout: URL url = new URL(urlstr) ...
- Java 网络编程(三) 创建和使用URL访问网络上的资源
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951877.html 创建和使用URL访问网络上的资源 URL(Uniform Reso ...
- 分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要)
原文:分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要) Java InputStream读取数据问题 ======== ...
- [Spark][Streaming]Spark读取网络输入的例子
Spark读取网络输入的例子: 参考如下的URL进行试验 https://stackoverflow.com/questions/46739081/how-to-get-record-in-strin ...
- java通过url读取网络图片
使用java.net读取网络文件 import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io ...
- img引用网络图片资源无法加载问题解决
近期在自己项目中遇到引用一些网络图片资源,显示无法加载,但是在浏览器打开图片路径又可以显示的问题 解决办法: 在图片显示的界面把meta referrer标签改为never <meta name ...
- 使用URL读取网络资源
import java.io.InputStream;import java.io.OutputStream;import java.net.URL; import android.os.Bundle ...
随机推荐
- 发一个自己写的php框架
这个框架是我在学习php初期练手写的,现在分享出来希望对初学者有一定帮助. 目录结构:app:网站系统目录 ---common:网站配置目录 ---tpl:网站模板目录 ---log ...
- 基于memcached中命令分析函数tokenize_command改造的split函数
今天使用C重构php代码,需要手写一个split函数,于是就模仿memcached中获取用户命令的函数 static size_t tokenize_command(char *command, to ...
- 基于jsp+servlet图书管理系统之后台用户信息修改操作
上一篇的博客写的是查询操作,且附有源码和数据库,这篇博客写的是修改操作,附有从头至尾写的代码(详细的注释)和数据库! 此次修改操作的源码和数据库:http://download.csdn.net/de ...
- java.util.concurrent并发包诸类概览
java.util.concurrent包的类都来自于JSR-166:Concurrent Utilities,官方的描述叫做“The JSR proposes a set of medium-lev ...
- 转:更改 centos yum 源
centos下可以通过yum很方便快捷的安装所需的软件和库,如果yum的源不好,安装速度会非常慢,centos默认官方源似乎都是国外的,所以速度无法保证,我一直使用163的源,感觉速度不错.下面就说说 ...
- 启动weblogic11g一直提示<141281> <unable to get file lock, will retry ...>
一次非正常关闭weblogic之后,再次启动时启动不成功,一直提示:<141281> <unable to get file lock, will retry ...> 解决方 ...
- poj2352 Stars
http://poj.org/problem?id=2352 #include <cstdio> #include <cstring> #define maxn 400000 ...
- cloudstack的ZONE删除不掉?来这招吧
老是提示什么物理网络被使用之类的, 可以进数据库去直接删除. I want to delete a zone,by this way:(1)delete all VMs in zone.(2)dele ...
- 第23章 COM和ActiveX(COM可以实现跨进程跨机器的函数调用)
控件对象既可在EXE中实现,也可在DLL中实现.这种实现对于COM对象的用户来说是透明的.因为COM提供了调度服务(marshaling).COM调度机制能够化进程甚至跨机器的函数调用,这使得16位程 ...
- 【转】Unable to execute dex: Java heap space 解决方案(如何为eclipse.int 添加内存)
原文网址:http://blog.csdn.net/zengyangtech/article/details/7003379 欢迎转载,转载请注明 http://blog.csdn.net/zengy ...