从网络url读取图片加载到imageview
来源:互联网 发布:java nio列子 编辑:程序博客网 时间:2024/06/05 02:44
首先涉及到几点:
1.从url读取图片代码(asyncTask)
2.生成图片drawable并加载到imageview
首先,一个大大的imageview是必不可少的啦
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.read_image_from_url.MainActivity" > <ImageView android:id="@+id/imageview" android:layout_width="match_parent" android:layout_height="match_parent" > </ImageView></RelativeLayout>
Drawable LoadImageFromWebOperations(String url) {InputStream is = null;Drawable d = null;try {is = (InputStream) new URL(url).getContent();d = Drawable.createFromStream(is, "src name");return d;} catch (Exception e) {return null;}}
以 http://www.123raw.com/includes/templates/custom/images/123raw_mainpic_01.jpg 为例子,点击打开链接,查看网页源代码看到的内容就是getcontent()得到的信息。
我们通过drawable.createFromStream便可将jpg生成drawable,将它返回到结果。
由于google不允许在主线程中访问网络,我们必须用到thread或者AsyncTask访问网络,而对于像图片这样的小case,还是用轻量级的asyncTask比较高效率。
class load_image extends AsyncTask<String, Void, Drawable> {@Overrideprotected Drawable doInBackground(String... params) {Drawable drawable = LoadImageFromWebOperations(params[0]);return drawable;}@Overrideprotected void onPostExecute(Drawable result) {super.onPostExecute(result);ImageView imageView = (ImageView) findViewById(R.id.imageview);imageView.setImageDrawable(result);}}
在这里我们将url的地址以String的方式传入,在AsyncTask中调用LoadImageFromWebOperation生成drawable。
由于AsyncTask中doInBackground的return方式传递的值是交给onPostExecute的,而onPostExecute则是将异步处理得到的结果通知给主线程的,所以我们将drawable传递给后者,在里面声明imageview并加载drawable。
当然,写好这些之后,记得要在调用创建AsyncTask并启动
new load_image().execute("http://www.123raw.com/includes/templates/custom/image/123raw_mainpic_01.jpg");希望对大家有帮助
0 0
- 从网络url读取图片加载到imageview
- iOS 从相册加载图片到imageview
- 从网络获取图片保存到sdcard,以及加载为bitmap显示到ImageView
- ImageView加载网络图片
- Android 异步加载网络图片到ImageView (Hnadler)
- ImageView简单加载网络图片
- 加载网络图片-radiobutton、imageview
- ImageView 从网络下载图片
- 网络图片加载到本地,优先从本地加载
- 从网络读取图片
- 从网络读取图片
- 如何应用ImageView读取网络图片资源
- iOS从URL加载图片
- iOS从URL加载图片
- Android ImageView如何加载网络图片资源
- Android ImageView如何加载网络图片资源
- Android ImageView如何加载网络图片资源
- Android如何使用ImageView加载网络图片
- 跨平台移动开发实战(一)------总体架构和技术路线
- 自定义动态添加字段内容的库类
- c++11多线程与POSIX多线程性能比较
- JAVASE--正则表达式、反射技术
- FrontEnd 步步高升:bootstrap3-validation.js 必填项星号(*)显示方式修改
- 从网络url读取图片加载到imageview
- POJ题目1840 Eqs(hash)
- js中几种实用的跨域方法原理详解
- spring mvc controller间跳转 重定向 传参
- Java(7)异常/包及访问权限/多线程/泛型
- 关于JDK与Tomcat安装路径修改过后无法正常使用的解放方案
- 年总结(一):逝去的14年
- 统计字符类型
- java(8)类集/枚举