【Android】给定URL显示网络图片的实现方法
来源:互联网 发布:vegas pro for mac 编辑:程序博客网 时间:2024/05/01 07:51
遇到问题(需求):开始编码用的适配器是SimpleAdapter,但后来发现,SimpleAdapter只能加载事先放在res/drawable里的图片,不能加载Bitmap,或者是Drawable
---------------------------------------------实现-------------------------------------------------
Step1:
1、创建Activity,本例中以ViewWebImageActivity说明;
2、ViewWebImageActivity中的代码如下:
String imageUrl = "……"; //……就是你需要显示的网络图片
Bitmap bmImg;
ImageView imView;
Button button1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imView = (ImageView) findViewById(R.id.imview);
imView.setImageBitmap(returnBitMap(imageUrl));
}
public Bitmap returnBitMap(String url) {
URL myFileUrl = null;
Bitmap bitmap = null;
try {
myFileUrl = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
HttpURLConnection conn = (HttpURLConnection)
myFileUrl.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
return bitmap;
}
3、其中,returnBitMap(String url) 方法就是具体实现网络图片转换成bitmap。
Step2:
1、修改你的main.xml文件如下:
< ?xml version="1.0" encoding="utf-8"?>
< LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
< ImageView
android:id="@+id/imview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
/>
< /LinearLayout>
Step3:
在你的AndroidManifest.xml文件的< /manifest>节点上面添加< uses-permission android:name="android.permission.INTERNET" />,这是由于Android有很多的权限限制,否则图片是不能在你的模拟器上显示的。
解决方法:说一下思路,主要是实现一个returnBitMap()的方法,具体实现网络图片转换成bitmap。然后set到布局文件的图片上即可。
思路搜索参考了一下几种解决方案,总结的如下可用方案:)
---------------------------------------------实现-------------------------------------------------
Step1:
1、创建Activity,本例中以ViewWebImageActivity说明;
2、ViewWebImageActivity中的代码如下:
String imageUrl = "……"; //……就是你需要显示的网络图片
Bitmap bmImg;
ImageView imView;
Button button1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imView = (ImageView) findViewById(R.id.imview);
imView.setImageBitmap(returnBitMap(imageUrl));
}
public Bitmap returnBitMap(String url) {
URL myFileUrl = null;
Bitmap bitmap = null;
try {
myFileUrl = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
HttpURLConnection conn = (HttpURLConnection)
myFileUrl.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
return bitmap;
}
3、其中,returnBitMap(String url) 方法就是具体实现网络图片转换成bitmap。
Step2:
1、修改你的main.xml文件如下:
< ?xml version="1.0" encoding="utf-8"?>
< LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
< ImageView
android:id="@+id/imview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
/>
< /LinearLayout>
Step3:
在你的AndroidManifest.xml文件的< /manifest>节点上面添加< uses-permission android:name="android.permission.INTERNET" />,这是由于Android有很多的权限限制,否则图片是不能在你的模拟器上显示的。
- 【Android】给定URL显示网络图片的实现方法
- Android 使用URL显示网络图片
- Android显示网络图片相关实现方法浅谈
- Android显示网络图片相关实现方法浅谈
- Android 下载显示网络图片 实现直接使用类似setimage的方法来完成
- Android实现从网络获取图片显示并保存到SD卡的方法
- android的GridView显示网络图片的方法
- android的GridView显示网络图片的方法 .
- Android开发笔记之ListView实现网络图片的显示
- Android通过网络URL获取图片并显示
- 进入Android应用时显示LOGO图片的实现方法
- URL转Drawable之 Android中获取网络图片的三种方法
- URL转Drawable之 Android中获取网络图片的三种方法
- ListView显示网络图片的方法
- Android 网络图片显示
- Android显示网络图片
- android 网络图片显示
- Android中显示网络上的图片
- hdu 1301 Jungle Roads
- 解决U盘不能弹出,提示:现在无法停止通用卷设备的解决方法(可行)
- bellman-ford 算法
- Android应用程序的编译和打包
- 再回南开
- 【Android】给定URL显示网络图片的实现方法
- Linux 使用pid文件结束nginx
- 修改属性值,控制时间,联合主键
- vs2012 update1程序不能在xp下运行解决
- JS的正则表达式
- git(6)查询git历史记录(二)
- OnDraw与OnPaint有什么区别?
- (二)Socket I/O模型之异步选择(WSAAsyncSelect)
- 常用输入消息处理