1

好吧,我对 android 开发相当陌生,并且正在开发一个应用程序。我已经查看了整个 stackoverflow,但似乎找不到有效的示例。我需要从 url 异步下载照片,然后将其设置在 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;
        }    

    }
}

如您所见,它不是异步的,也没有设置图像视图。我也很确定我没有正确地做这件事。我应该下载到内部存储吗?还是下载到文件?有人可以帮助我。

谢谢你,汤姆

4

1 回答 1

3

使用毕加索

或者,使用离子

或者,使用SmartImageView

或者,使用任何其他现有的 Android 库来下载和处理图像。

于 2013-11-03T23:41:26.020 回答