我试图使用领域写入db,但是它确实写入值。我还添加了
应用插件:“ android-apt” 应用插件:“ realm-android”
我在异步任务中使用它。下面 如何正确写入领域数据库
protected Integer doInBackground(Integer[] p1)
{
Realm.init(acti);
RealmConfiguration otherConfig = new RealmConfiguration.Builder().directory(new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/xMapper/"+fileN)).build();
Realm.setDefaultConfiguration(otherConfig);
realm = Realm.getDefaultInstance();
for (File file:foxReaderLost)
{
final byte[] x=utilz.compress(FileUtils.readFileToString(file));
final String y=file.getName();
realm.executeTransaction(new Realm.Transaction(){
@Override
public void execute(Realm p1)
{
IconModel icm=p1.createObject(IconModel.class);
icm.setName(y);
icm.setSource(x);
}
});
}
}
我的RealmObject
public class IconModel extends RealmObject {
private byte[] msource;
private String mname;
public void setSource(byte[] lastName)
{
this.msource = lastName;
}
public void setName(String firstName)
{
this.mname = firstName;
}
}
答案 0 :(得分:2)
初始化您的项目,如果您还没有扩展Application
的类,则只需创建一个即可。
class App extends Application {
@Override
public void onCreate() {
Realm.init(acti);
RealmConfiguration otherConfig = new RealmConfiguration.Builder().directory(new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/xMapper/"+fileN)).build();
Realm.setDefaultConfiguration(otherConfig);
}
}
然后,您只需调用Realm.getDefaultInstance()
即可获得领域对象以查询/插入/更新/删除数据库。