Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我需要从现有领域数据库中读取数据_Java_Android_Realm - Fatal编程技术网

Java 我需要从现有领域数据库中读取数据

Java 我需要从现有领域数据库中读取数据,java,android,realm,Java,Android,Realm,我有一个现有的领域数据库,它已作为资产传递给领域对象,并配置为默认领域。 我还对两个模型进行了分类,它们必须填充从现有数据库检索到的数据。 我不知道如何读取数据,需要采取哪些步骤 首先,我必须使用以下方法将现有数据库提供给realm: Realm.init(this); RealmConfiguration realConfig = new RealmConfiguration.Builder() .assetFile("assets\\database

我有一个现有的领域数据库,它已作为资产传递给领域对象,并配置为默认领域。 我还对两个模型进行了分类,它们必须填充从现有数据库检索到的数据。 我不知道如何读取数据,需要采取哪些步骤

首先,我必须使用以下方法将现有数据库提供给realm:

Realm.init(this);
    RealmConfiguration realConfig = new RealmConfiguration.Builder()
            .assetFile("assets\\databases.realm")
            .readOnly()
            .build();
    Realm.setDefaultConfiguration(realConfig);
然后用于读取数据

Realm.init(this);
    Realm realm = Realm.getDefaultInstance();
    realm.executeTransaction(new Realm.Transaction() {
        @Override
        public void execute(Realm realm) {
           RealmResults<Word> words = realm.where(Word.class).equalTo("id",1976).findAll();
        }
    });
    Word testWord = realm.where(Word.class).findFirst();
Realm.init(this);
Realm Realm=Realm.getDefaultInstance();
realm.executeTransaction(新realm.Transaction(){
@凌驾
公共void执行(领域){
RealmResults words=realm.where(Word.class).equalTo(“id”,1976).findAll();
}
});
wordtestword=realm.where(Word.class.findFirst();

您可以在如下函数中访问结果:

@Override
        public void execute(Realm realm) {
        RealmResults<Word> words = realm.where(Word.class).equalTo("id",1976).findAll();
        displayQueriedResults(words);
        }


displayQueriedResults(RealmResults<Word> words){
    for(Word word : words){
        int i = word.getId(); //do whatever with your result
        String s = word.getName();
        ...
        ...
    }
}
@覆盖
公共void执行(领域){
RealmResults words=realm.where(Word.class).equalTo(“id”,1976).findAll();
显示查询结果(文字);
}
displayQueriedResults(RealmResults字){
for(单词:单词){
int i=word.getId();//对结果执行任何操作
字符串s=word.getName();
...
...
}
}

您尝试过什么?显示你的代码我编辑了这篇文章,还添加了给出现有数据库的方法,如果不合适的话,请给出提示,太好了,分配资产一切都好吗?因为当我使用getDefaulConfiguration()方法时,它会返回默认的领域数据库,该数据库在内部不是我的资产