Android: как скопировать базу данных SQLite из одного приложения в другое - PullRequest
1 голос
/ 30 декабря 2010

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

Я написал некоторый код для выполнения копирования файла, но файл базы данных lite всегда выглядит как нечитаемый. Файл есть, и я могу указать на него, но не могу прочитать его, чтобы выполнить копирование.

В документации по Android мы читаем:

Вы можете сохранять файлы прямо на внутренняя память устройства. По умолчанию, файлы сохраняются во внутреннем хранилище являются частными для вашего приложения и другие приложения не могут получить к ним доступ (и пользователь не может).

Обратите внимание на слова «по умолчанию».

Есть ли способ, которым я могу переопределить это значение по умолчанию и сделать файл SQLite читаемым для моего другого приложения?

Спасибо.

1 Ответ

0 голосов
/ 30 декабря 2010

Я полагаю, что у вас есть 2 варианта.

  1. Установите для базы данных sql значение читаемость мира при создании.Вы можете сделать это, установив соответствующий параметр режима в вызове openFileOutput () или openOrCreateDatabase ().
  2. Установите атрибут sharedUserId в манифесте обоих ваших приложений, чтобы они имелитот же идентификатор пользователя.Это относится к обоим приложениям как к одному пользователю, предоставляя обоим приложениям доступ к одному и тому же частному набору файлов.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...