如何在领域数据库中将多个图像Path作为String保存为一个条目

时间:2016-08-13 18:31:06

标签: android realm

我正在开发Android应用,应用的目的是通过广告标题,广告标题和广告图片路径(图片路径可以很多)来发布广告。

我正在使用realm数据库进行此操作。将这些信息保存到数据库时,我遇到了困难。我想知道,如何通过一个广告条目保存多个图像路径?

我的字段是:

Ad Title  
Ad Description  
Ad Image Path (Multi)

这是我的RealmObject类

public class FacebookAds extends RealmObject {

@PrimaryKey
@Index
private int id;
private String title;
private String tags;
private String description;
private String imageName; // How to use this for multiple image Path

public  FacebookAds() {

}

public String getImageName() {
    return imageName;
}

public void setImageName(String imageName) {
    this.imageName = imageName;
}

public String getDescription() {
    return description;
}

public void setDescription(String description) {
    this.description = description;
}

public String getTags() {
    return tags;
}

public void setTags(String tags) {
    this.tags = tags;
}

public String getTitle() {
    return title;
}

public void setTitle(String title) {
    this.title = title;
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

}

This is my Ad new Title Dialog

2 个答案:

答案 0 :(得分:0)

请仔细阅读 首先将图像转换为ByteArray 我正在演示

Bitmap bmp = intent.getExtras().get("data");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();

然后将byte []保存到Realm数据库

注意:字符串和字节数组(byte [])不能大于16 MB

Realm支持以下字段类型:boolean,byte,short,¯nt,long,float,double,String,Date和byte []。整数类型byte,short,int和long都映射到Realm中的相同类型(实际上很长)。此外,支持RealmObject和RealmList的子类来建模关系。

答案 1 :(得分:0)

一种简单直观的方法是连接它们,然后将它们存储为单个字符串。当你想要检索它们时,只需从你的Realm数据库中获取字符串并用分隔符分割它。

例如:

String imagePath1 = ...
String imagePath2 = ...

// Store this string
String imagePath = imagePath1 + "|" + imagePath2;

// Retrieve paths like this
String[] paths = imagePath.split("|");

// imagePath1
paths[0]

// imagePath2
paths[1]