java - 领域数据库不写入数据
问题描述
我试图使用领域写入数据库,但它确实写入了值。我还添加了
应用插件:'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);
}
});
}
}
我的领域对象
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()
来获取一个领域对象来查询/插入/更新/删除你的数据库。
推荐阅读
- javascript - 一次通话向所有订阅者发送网络推送通知
- c# - 使用 Vue JS 和 .Net Core Web API 之类的堆栈 - 我在哪里实现身份验证 (Azure AD)?
- arrays - 从 JSON 响应中的逗号分隔字符串中获取数据,并根据 IONIC 3 中的值禁用或启用按钮
- python-3.x - 如何使用菜单中没有“文件->退出”的pywinauto关闭窗口?
- javascript - 如何为 Webpack 4 中的每个输出导出 contenthash 值?
- clang - Xcode 11 ld 错误“您的二进制文件不是 /usr/lib/libcrypto.dylib 的允许客户端”
- javascript - 匹配一半在标签内一半在外面的字符串
- javascript - *ngFor 在获取新数据之前正在更新
- dialogflow-es - 如何在对话流中集成 Facebook Messenger 和默认响应
- python - 如果存在重复值,如何返回 True 和 false