我是我的应用程序,当启动画面启动时,我只是点击一个 URL 并取回一个 XML 文件。我正在从该 XML 文件中解析出诸如用户名、ID 和 URL 等数据以下载图像。从该网址我想下载一张图片,我想在我的应用程序本身中以特定名称存储图片。我想在另一个活动中使用相同的图片作为背景。我如何下载图像并将其存储在我的应用程序中。它可以存储在我的应用程序中的哪里,在原始文件夹或可绘制文件中。
在存储名称之前如何将图像设置为特定活动中的背景图像,请朋友们帮助我
我是我的应用程序,当启动画面启动时,我只是点击一个 URL 并取回一个 XML 文件。我正在从该 XML 文件中解析出诸如用户名、ID 和 URL 等数据以下载图像。从该网址我想下载一张图片,我想在我的应用程序本身中以特定名称存储图片。我想在另一个活动中使用相同的图片作为背景。我如何下载图像并将其存储在我的应用程序中。它可以存储在我的应用程序中的哪里,在原始文件夹或可绘制文件中。
在存储名称之前如何将图像设置为特定活动中的背景图像,请朋友们帮助我
这是从 url 下载图像的代码:
InputStream in = new URL(image_url).openConnection().getInputStream();
Bitmap bm = BitmapFactory.decodeStream(in);
请注意,它应该异步完成(如在 asynctask 中)
比您可以使用以下方法将位图存储在系统上:
File fullCacheDir = new File(Environment.getExternalStorageDirectory(),cacheDir);
String fileLocalName = name+".JPEG";
File fileUri = new File(fullCacheDir, fileLocalName);
FileOutputStream outStream = null;
outStream = new FileOutputStream(fileUri);
image.compress(Bitmap.CompressFormat.JPEG, 75, outStream);
outStream.flush();
请注意,这只是有关如何存储图像的示例,还有其他方法。无论如何,您应该查看文档。
如果您想要它用于您的应用程序。更好地下载图像将其保存为 Drawable 实例并在您想要的应用程序中使用它
public static Drawable drawable = null;
//get image from URL and store it in Drawable instance
public void getImageFromURL(final String urlString) {
Thread thread = new Thread() {
@Override
public void run() {
//TODO : set imageView to a "pending" image
InputStream is = null;
try{
URLConnection urlConn = new URL(urlString).openConnection();
is= urlConn.getInputStream();
}catch(Exception ex){}
drawable = Drawable.createFromStream(is, "src");
}
};
thread.start();
}
将背景图像设置为任何视图
void setImage(View myView){
myView.setBackgroundDrawable(drawable);
}