Не обнаружил мою базу данных sqlite в моем физическом устройстве android

Я скроллирую мое приложение android studio на физическом устройстве, но мне не удается обнаружить базу данных. Мое устройство не rooteado, я находился этот код в Интернете, которой не удалось осуществить это. Я им благодарен за то, чтобы они дали мне идеи.

 public static void BD_backup() throws IOException {
    String timeStamp = new SimpleDateFormat("ddMMyyyy_HHmmss").format(new Date());
    final String inFileName ="/data/data/com.example.usuarioadministrador.miproyecto/databases/"+DATABASE_NAME;
    File dbFile= new File(inFileName);
    FileInputStream fis=null;
    fis=new FileInputStream(dbFile);
    String directorio = obtenerDirectorioCopias();
    File d = new File(directorio);
    if (!d.exists()) {
        d.mkdir();
    }
    String outFileName=directorio + "/" + DATABASE_NAME +""+timeStamp;
    OutputStream output = new FileOutputStream(outFileName);

    byte[] buffer = new byte[1024];
    int length;
    while ((length = fis.read(buffer)) > 0) {
        output.write(buffer, 0, length);
    }

    output.flush();
    output.close();
    fis.close();
}
2
задан 25.01.2017, 20:17
0 ответов

прежде всего я говорю тебе, что ты не можешь соглашаться на эту папка (он восходит, не будучи root).

Секунда ответ на твой вопрос здесь:

 final String inFileName ="/data/data/com.example.usuarioadministrador.miproyecto/databases/"+DATABASE_NAME;

Что говорит тебе, что он находится в папке, восходит / восходит / com.example.usuarioadministrador.miproyecto / databases / Так что я рекомендую тебе rootear твой мобильный телефон и заношу в список.

Pd: ты можешь пытаться с ESfile. Я думаю, что ты сможешь входить в дату, не будучи root. Привет

0
ответ дан 03.12.2019, 17:30

Если ты знаешь имя базы данных, регулярно созданной в классе, который он увеличивает SQLiteOpenHelper ты можешь получать маршрут посредством метода getDatabasePath ().

getDatabasePath () Возврати абсолютный маршрут в системе файлов, где хранится база данных, созданная с openOrCreateDatabase (String, int, SQLiteDatabase. CursorFactory).

Пример:

String pathDatabase = getDatabasePath("mybasededatos.db").getAbsolutePath();

ты получил бы что-то сходное в:

/data/user/0/<nombre de paquete>/databases/mybasededatos.db

Чтобы соглашаться на маршрут и получать базу данных необходимо иметь разрешения root, если ты требуешь иметь эти разрешения в твоем устройстве, оно под твоим собственным риском. Я рекомендую тебе взамен копировать базу данных во внешнее хранение для того, чтобы ты смог анализировать ее.


Если эти в классе, который не Activity ты нуждаешься в контексте, чтобы соглашаться на метод:

  String pathDatabase = getActivity().getDatabasePath("mybasededatos.db").getAbsolutePath());
2
ответ дан 03.12.2019, 17:30

Теги

Похожие вопросы