Я создал базу данных Sqlite и все таблицы, необходимые для моего приложения, и поместил их в папку с ресурсами. При доступе к моему приложению я буду вставлять данные во все таблицы в базе данных. Теперь, если я переношу приложение через общий доступ к приложению, например, Shareit, я не могу видеть данные, которые я вставлял в новое приложение, которое я получил. Как сделать данные постоянными, чтобы при совместном использовании приложения все данные, добавленные во время выполнения, также должны совместно использоваться.Как вставлять данные в базу данных sqlite постоянно
ответ
Чтобы добиться этого,
- Места базы ваших данных в папку активов.
- На странице всплеска скопируйте файл базы данных из папки с данными в папку базы данных проекта.
проверить, существует ли база данных уже существует или нет.
private void isDBExist() {
String outFileName = "/data/data/" + getPackageName() + "/databases/"
+ DatabaseHandler.DATABASE_NAME;
File f = new File(outFileName);
if (!f.exists()) {
f.getParentFile().mkdirs();
copyDataBase(DatabaseHandler.DATABASE_NAME);
}
}
Если база данных не существует, то скопируйте файл базы данных из папки ресурсов в папку с базой данных.
private void copyDataBase(String DB_NAME) {
// Open your local db as the input stream
// ContextWrapper cw =new ContextWrapper(getApplicationContext());
String DB_PATH = "/data/data/" + getPackageName() + "/databases/";
if (android.os.Build.VERSION.SDK_INT >= 17) {
DB_PATH = getApplicationInfo().dataDir + "/databases/";
} else {
DB_PATH = "/data/data/" + getPackageName() + "/databases/";
}
InputStream myInput;
Log.i("Database", "New database is being copied to device!");
byte[] buffer = new byte[1024];
OutputStream myOutput = null;
int length;
// Open your local db as the input stream
try {
myInput = getAssets().open(DB_NAME);
// transfer bytes from the inputfile to the
// outputfile
File f = new File(DB_PATH + DB_NAME);
f.createNewFile();
// dbFile.getParentFile().mkdirs();
myOutput = new FileOutputStream(f);
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
myOutput.close();
myOutput.flush();
myInput.close();
Log.i("Database", "New database has been copied to device!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Отвечает ли ваш ответ на этот вопрос: «Теперь, если я переношу приложение через общий доступ к приложению, например, Shareit, я не могу видеть данные, которые я вставлял в новое приложение, которое я получил. Как сделать данные постоянными, чтобы, если я использую приложение, все добавленные временем среды выполнения также должны быть разделены. '? –
спасибо за ваш быстрый ответ Yogendra. Каждый раз, когда я открываю новое приложение, база данных копируется из папки ресурсов в папку базы данных. Поскольку в базе данных нет данных, прикрепленных к базе данных, ничего не копируется. Есть ли способ сделать базу данных скопированной в папку баз данных постоянной? –
пожалуйста, добавьте предыдущий способ -DBExist(). он будет проверять, тогда скопирует. – Yogendra
- 1. Android: как быстрее вставлять данные в sqlite
- 2. POST не вставлять данные в базу данных
- 3. Не вставлять данные в базу данных - grails
- 4. Не вставлять данные в базу данных
- 5. Зачем вставлять пустые данные в базу данных?
- 6. Не вставлять данные в базу данных
- 7. вставлять данные в базу данных при вводе
- 8. PDO не вставлять данные в базу данных
- 9. Как добавить данные в базу данных SQLite?
- 10. Android SQLite, добавляющий данные в базу данных
- 11. Как динамически вставлять данные JSON в базу данных в Mule
- 12. Android: сжимать и вставлять изображения в базу данных SQLite
- 13. Как вставлять символы в базу данных MySQL?
- 14. как вставлять данные Parsed Array в базу данных sqlite в iphone
- 15. Как сжать базу данных sqlite
- 16. Как подключать и вставлять данные в базу данных Wordpress?
- 17. Как вставлять уникальные данные в базу данных доступа
- 18. Как вставлять массивные данные в базу данных одновременно?
- 19. Данные не вставляются в базу данных SQLite
- 20. Данные не вставляются в базу данных sqlite
- 21. Данные не вставляются в базу данных SQLite
- 22. Вставить данные в базу данных SQLite
- 23. Вставка строк данных в базу данных Sqlite
- 24. PHP: Как постоянно добавлять в базу данных
- 25. вставлять данные в базу данных sqlite в phonegap при первом приложении для загрузки по времени
- 26. Как вставить массивы в базу данных Sqlite
- 27. Как организовать базу данных sqlite
- 28. клонировать базу данных sqlite пропустить некоторые данные
- 29. Как постоянно обновлять базу данных Android через онлайн-базу данных?
- 30. Данные Android необходимо динамически вставлять в базу данных
Просто используйте удаленную базу данных. База данных находится на сервере, а не на одном устройстве. –