因此标题略有误导。我把URl放在了一个可绘制的地方。
public Drawable getDrawableFromURL(String url) {
try {
InputStream is = (InputStream) new URL(url).getContent();
Drawable d = Drawable.createFromStream(is, "src name");
return d;
} catch (Exception e) {
return null;
}
}
我原先有一个位图,但仍然保留了nullpointers和android.os.NetworkOnMainThreadException
,我已经设法修复了,但nullpointer再次出现。所以我一直坚持如何保存到内部,因为我可以将它保存到SD。
由于
答案 0 :(得分:1)
试试这个
public class DownloadImage extends AsyncTask<String, Void, Bitmap> {
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.d("Error", e.getStackTrace().toString());
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
// save your bitmap here
}
}
使用下面的代码
来调用此AsyncTask
new DownloadImage().execute(url);