Где данные AsyncStorage, физически расположенные на устройствах Android?

Может быть, заголовок не очень ясен. Вот что я имею в виду/должен знать -

Если я использую SQLite для некоторых целей хранения данных в приложении Android, я могу видеть созданный в моем телефоне БД. (/root/data или что-то, что я думаю). Я просмотрел БД и выполнил некоторые манипуляции, это помогает в разработке.

Теперь я использую API AsyncStorage для реагирования на native. В моем коде есть некоторые проблемы, я не могу получить сохраненные данные из магазина. Не уверен, что я делаю неправильно.

Итак, чтобы узнать, что случилось, есть ли способ просмотреть список объектов, которые хранятся на телефоне? Если да, то где? И как мне его просматривать?

PS: Я отлаживаю приложение React Native с помощью журналов Android Studio. Поскольку мой хром на linux плохой мальчик (любая помощь будет оценена)!

Ответ 1

React Native на Android фактически использует SQLite для резервного копирования API AsyncStorage. Файл базы данных /data/data/<your_app>/databases/RKStorage на вашем устройстве/эмуляторе. Ключи и значения хранятся в таблице с именем catalystLocalStorage.

Ответ 2

Вы можете выполнить следующие шаги

  • Запустите apk в режиме отладки на вашем устройстве и подключите свое устройство к вашей системе.

  • Откройте командную строку.

  • Чтобы получить список баз данных, связанных с вашим приложением, используйте команду

adb -d shell "run-as om.yourpackage_name ls /data/data/com.yourpackage_name/databases/

вы можете получить имя пакета из файла AndroidManifest.xml

  1. Теперь у вас есть имя базы данных в приведенном выше списке, затем скопируйте эту базу данных на SDCard в свой телефон, используя следующую команду для реакции native, это будет RKStorage

adb -d shell "run-as com.yourpackage cp/data/data/com.your_package/databases/RKStorage/sdcard/Rkstorage"

  1. Теперь используйте команду ниже, чтобы вытащить выше скопированную базу данных с вашего устройства в вашу систему. ниже команда скопирует базу данных в каталог, где существует adb.exe.

adb pull/sdcard/Rkstorage

  1. Теперь установите Firefox SQLite Manager: https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/

  2. Откройте Firefox SQLite Manager из Tools- > SQLite Manager

  3. В SQLite Manager перейдите в Database- > Connect Database и откроется окно "Открыть файл", где вы выберите "Все файлы внизу вашего окна" и перейдите туда, где скопирована ваша база данных.

Спасибо.