如何在Android中更改可绘制图像文件的内容?

时间:2016-10-12 13:31:59

标签: java android image bitmap retrofit

我在drawable文件夹中有一个名为graph.jpg的图像,每次从服务器下载时,我想用某个图像填充它。为此,我使用了Retrofit,我已经有了以下界面:

@GET("/androidimage/")
    Call<ResponseBody> getImage(
            @Query("image") String command
    );

活动中的以下方法:

 private void getImage(WebService webService, String command){
        Call<ResponseBody> call = webService.getImage(command);
        call.enqueue(new Callback<ResponseBody>() {

            @Override
            public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
                if (response.isSuccessful()){
                    if (response.body() != null){
                        Bitmap bm = BitmapFactory.decodeStream(response.body().byteStream());
                        imageViewTouch.setImageBitmap(bm);
                    }
                    else {
                        imageViewTouch.setImageResource(R.drawable.graph);
                    }
                }
            }

            @Override
            public void onFailure(Call<ResponseBody> call, Throwable t) {
                System.out.println("LOG Error: " + t.getMessage());
            }
        });
    }

我希望将graph.jpg文件更改为最新的bm,转换为JPG。怎么办呢?

感谢@Alex Klimashevsky的回答,我能够使用Picasso库来实现这一点,而且它更简单。

1 个答案:

答案 0 :(得分:0)

使用Picasso库。

该库具有缓存机制。

此外,您无法替换/drawable文件夹中的图像。