我试图使用 Realm 写入数据库,但它确实写入了值。我也加了
apply plugin: 'android-apt' apply plugin: 'realm-android'
我在异步任务中使用它。以下 如何正确写入 Realm 数据库
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;
}
}
最佳答案
启动你的项目,如果你还没有一个扩展 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()
来获取 Realm 对象以查询/插入/更新/删除您的数据库。
关于java - Realm 数据库不写数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54270414/