Android 用sugarorm保存图像

Android 用sugarorm保存图像,android,database,orm,bitmap,sugarorm,Android,Database,Orm,Bitmap,Sugarorm,所以,我有一个位图图像,我想保存和加载。保存时,我首先将其转换为byte[]值,然后使用save();为了拯救它。 当我试图通过检查它的字符串值(检查是否为null)来检查它是否工作时,我得到如下结果:[B@16166c9a" 然后,我将其转换回位图值,但执行此操作后,位图值仍然为空 这是我用来保存的代码: public void saveImage(){ imageToSave = Utilities.getBytes(backGround); } 这是我用来加载的代码:

所以,我有一个位图图像,我想保存和加载。保存时,我首先将其转换为byte[]值,然后使用save();为了拯救它。 当我试图通过检查它的字符串值(检查是否为null)来检查它是否工作时,我得到如下结果:[B@16166c9a" 然后,我将其转换回位图值,但执行此操作后,位图值仍然为空

这是我用来保存的代码:

    public void saveImage(){
    imageToSave = Utilities.getBytes(backGround);
}
这是我用来加载的代码:

    public void updateImage(){
    backGround = Utilities.getImage(imageToSave);
}
这是实用程序类:

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

import java.io.ByteArrayOutputStream;

public class Utilities {

public static byte[] getBytes(Bitmap bitmap)
{
    ByteArrayOutputStream stream=new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG,100, stream);
    return stream.toByteArray();
}
public static Bitmap getImage(byte[] image)
{
    return BitmapFactory.decodeByteArray(image, 0, image.length);
}

}
代码的其余部分在此处提供:

抱歉,代码凌乱,评论不好


非常感谢您的帮助!:)

这是一个对我来说非常有用的课程

public class ImageUtil {

public static byte[] GetByteFromBitmap(Bitmap bmp)
{
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
    return stream.toByteArray();
}

public static Bitmap convertByteArrayToBitmap(byte[] byteArrayToBeCOnvertedIntoBitMap)
{
    Bitmap bitMapImage = BitmapFactory.decodeByteArray(
            byteArrayToBeCOnvertedIntoBitMap, 0,
            byteArrayToBeCOnvertedIntoBitMap.length);
    return bitMapImage;
}}

这是一门对我来说非常有效的课程

public class ImageUtil {

public static byte[] GetByteFromBitmap(Bitmap bmp)
{
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
    return stream.toByteArray();
}

public static Bitmap convertByteArrayToBitmap(byte[] byteArrayToBeCOnvertedIntoBitMap)
{
    Bitmap bitMapImage = BitmapFactory.decodeByteArray(
            byteArrayToBeCOnvertedIntoBitMap, 0,
            byteArrayToBeCOnvertedIntoBitMap.length);
    return bitMapImage;
}}

首先比较保存到数据库的字节数组和从数据库返回的字节数组。如果它们相同,你就会知道问题不在于orm,你只是缩小了问题的范围。而且在大多数情况下,最好将图像存储在本地,只保存到数据库的文件路径。好的,谢谢!我会y将其保存到本地并使用ORM保存路径!谢谢提示伙伴!:)顺便说一句,我从数据库返回的不是我保存到数据库的那个…不是很奇怪吗?首先比较您保存到数据库的字节数组和您从数据库返回的字节数组。如果它们相同,您将知道问题不在于ORM,而您只是不知道罗记下可能出现的问题。此外,在大多数情况下,最好将图像存储在本地,并仅保存到数据库的文件路径。好的,谢谢!我将尝试将其保存在本地,并使用ORM保存路径!谢谢提示伙伴!:)顺便说一句,我从数据库返回的图像不是我保存到数据库的图像…这不是很奇怪吗?