好吧,我对Android开发很新,我正在开发一个应用程序。我已经遍布stackoverflow,但似乎找不到一个有效的例子。我需要异步下载网址中的照片,然后将其设置为imageview。我决定创建一个与我的片段分开的类来下载图像。
代码:
public class UpdateUser {
private static final String TAG = "UpdateUser";
public void refresh(JSONObject user){
//Download profile pic
try {
downloadProfpic(user.getString("userpic_url"));
} catch (JSONException e) {
Log.e(TAG, "", e);
}
}
public void downloadProfpic(String userpicURL) {
try{
URL murl = new URL(userpicURL);
Bitmap bm = BitmapFactory.decodeStream(murl.openConnection().getInputStream());
Context context = Application.getContext();
final FileOutputStream fos = context.openFileOutput("Prof_pic.png", Context.MODE_PRIVATE);
bm.compress(CompressFormat.JPEG, 90, fos);
//Set the imageview
//pageFrag.setProfPic("Prof_pic.png");
} catch (IOException e) {
e.printStackTrace();
return;
}
}
}
正如您所看到的那样,它不是异步的,也没有设置imageview。我也很确定我做得不对。我应该下载到内部存储吗?或者下载到文件?有人可以帮助我。
谢谢你, 汤姆