Проблемы с выборкой данных Из базы данных Realm, какой файл копируется из файла активов в файлы данных внутреннего хранилища мобильных устройств - PullRequest
0 голосов
/ 30 апреля 2020

В папке активов я сохранил один файл .realm db, используя этот файл. Я возьму все данные и скопирую их в файл области по умолчанию в файлах внутреннего внутреннего хранилища. Теперь возникает проблема, когда я пытаюсь извлечь данные из файла области мобильного внутреннего хранилища после первого завершения копирования с использованием запроса области. Это вовсе не означает, что данные отображаются с размером 0. Как только я закрываю и открываю приложение, оно показывает идеальные результаты.

1.Этот код предназначен для создания файла области во внутреннем мобильном хранилище

     Realm.init(this);
     RealmConfiguration config = new RealmConfiguration.Builder()
     .name("JLGDTCAlert.realm")
     .schemaVersion(3)
     .build();
     Realm.setDefaultConfiguration(config);

2.Этот код предназначен для копирования данных из файла активов в файл области мобильных устройств

    String path = "/data/data/com.123.JLG/files/JLGDTCAlert.realm";
    OutputStream myOutput = new FileOutputStream(path);
    byte[] buffer = new byte[1024];
    int length;
    InputStream myInput = getClass().getResourceAsStream("/assets/JLGDTCAlert105.realm");
    while ((length = myInput.read(buffer)) > 0) {
        myOutput.write(buffer, 0, length);
    }
    myInput.close();
    myOutput.flush();
    myOutput.close();

3.Этот код предназначен для извлечения данных из файла области

   ArrayList<JLGDTCAlert> list = new ArrayList(realm.where(JLGDTCAlert.class).findAll());


   Log.d("datalist", list.toString());
   Log.d("datalist", list.size() + "");
...