gpt4 book ai didi

java - 重新启动应用程序后保存的图像消失

转载 作者:行者123 更新时间:2023-12-02 02:28:08 25 4
gpt4 key购买 nike

我在导航标题图片中使用共享首选项保存了图像。但是当我重新启动应用程序时,它会重置为默认图片。有人可以帮我吗?我使用 Intent 将图像从 MyProfile.java 传递到 MainActivity.class

主要 Activity :

public void getIMG(){
if(getIntent().hasExtra("byteArray")) {

Bitmap _bitmap = BitmapFactory.decodeByteArray(
getIntent().getByteArrayExtra("byteArray"), 0, getIntent().getByteArrayExtra("byteArray").length);
imgProfile.setImageResource(R.mipmap.icon_round);
imgProfile.setImageBitmap(_bitmap);

imgProfile.buildDrawingCache();
Bitmap bitmap = imgProfile.getDrawingCache();
ByteArrayOutputStream stream=new ByteArrayOutputStream();
_bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream);
byte[] image=stream.toByteArray();

}

我的个人资料(从我收到图像的地方)

[public void setProfilePhoto(View view){
ImageView ivphoto = (ImageView)findViewById(R.id.userphoto);

//code image to string
ivphoto.buildDrawingCache();
Bitmap bitmap = ivphoto.getDrawingCache();
ByteArrayOutputStream stream=new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream);
byte\[\] image=stream.toByteArray();
//System.out.println("byte array:"+image);
//final String img_str = "data:image/png;base64,"+ Base64.encodeToString(image, 0);
//System.out.println("string:"+img_str);
String img_str = Base64.encodeToString(image, 0);
Intent _intent = new Intent(this, MainActivity.class);
_intent.putExtra("byteArray", image);
startActivity(_intent);
//decode string to image
String base=img_str;
byte\[\] imageAsBytes = Base64.decode(base.getBytes(), Base64.DEFAULT);
ImageView ivsavedphoto = (ImageView)this.findViewById(R.id.usersavedphoto);
ivsavedphoto.setImageBitmap(BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length) );

//save in sharedpreferences
SharedPreferences preferences = getSharedPreferences("myprefs", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("userphoto",img_str);
editor.commit();
}][1]

最佳答案

当您启动要显示图像的 Activity 时,请使用以下代码从共享首选项中获取存储的图像。

SharedPreferences 首选项 = getSharedPreferences("myprefs", MODE_PRIVATE); String saveImage=preferences.getString("userphoto","");现在,将图像字符串转换为字节等。

希望这对你有帮助!

关于java - 重新启动应用程序后保存的图像消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57243138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com