Предположим, во внутренней памяти моего телефона у меня есть папка с именем kc, и в этой папке kc у меня есть sqlite bd с именем local.db, теперь мне нужно подключиться к этой базе данных моим приложением, и вам нужно будет выполните запрос типа select name из survey_master, покажите мне результаты в тосте в основном методе onCreate. Как я могу это сделать?Использовать внешнюю базу данных sqlite в приложении
ответ
создайте свою базу данных и назовите ее как myDB.sqlite и поместите ее в свою папку с вашими приложениями.
класс DB-менеджер
public class AppsDatabaseManager extends SQLiteOpenHelper{
public static final int VERSION = 1;
private String DB_PATH = Environment.getExternalStorageDirectory().getAbsolutePath()+ "/yourFolderName";
private static String DB_NAME = "myDB.sqlite";
private SQLiteDatabase db;
private Context context;
public AppsDatabaseManager(Context context) {
super(context, DB_NAME, null, VERSION);
this.context = context;
try {
copyDataBase();
} catch (IOException e) {
e.printStackTrace();
}
}
public boolean initializeDatabase() {
if (DB_PATH == null)
return false;
try {
db = SQLiteDatabase.openDatabase(DB_PATH + "/" + DB_NAME, null,
SQLiteDatabase.OPEN_READWRITE
| SQLiteDatabase.NO_LOCALIZED_COLLATORS);
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
return true;
}
private void copyDataBase() throws IOException {
// Open your local db as the input stream
InputStream myInput = context.getAssets().open(DB_NAME);
// Path to the just created empty db
String outFileName = DB_PATH + "/" + DB_NAME;
// Open the empty db as the output stream
new File(outFileName).createNewFile();
OutputStream myOutput = new FileOutputStream(outFileName);
// transfer bytes from the inputfile to the outputfile
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
// Close the streams
myOutput.flush();
myOutput.close();
myInput.close();
}
}
В вашей деятельности:
AppsDatabaseManager dbManager = new AppsDatabaseManager(this);
if(dbManager.initializeDatabase()){
//
}
Дайте разрешение в манифесте:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Заполните мой полный пример: GitRepo
это дает ошибка нет такой таблицы myTableName –
напишите свой код. –
вы можете скачать мой пример из git. https://github.com/iamsarker/android-apps/tree/master/ExternalDataBase –
- 1. Как использовать внешнюю базу данных sqlite в приложении android
- 2. Как использовать экспортированную SQLite базу данных SQLite в приложении Java
- 3. Невозможно использовать внешнюю базу данных в приложении для Android
- 4. Использовать существующую базу данных Sqlite в приложении для iPhone
- 5. Как использовать базу данных SQLite в Android-приложении?
- 6. Как использовать внешнюю базу данных mysql
- 7. обновить базу данных SQLite в моем приложении
- 8. как использовать предопределенные базу данных SQLite
- 9. Как загрузить внешнюю базу данных SQLite в приложении для телефонных разговоров?
- 10. SimpleCursorAdapter не загружает внешнюю базу данных sqlite: ошибка «_id»
- 11. Зачем использовать базу данных sqlite в Android?
- 12. Подключить внешнюю базу данных в php
- 13. OpenFire интегрируя внешнюю базу данных
- 14. Восстановить базу данных sqlite
- 15. Сохранить базу данных SQLite
- 16. Использовать старую базу данных в приложении rails
- 17. Как использовать базу данных в приложении Flash?
- 18. Как использовать внешнюю базу данных в extbase/fluid
- 19. Как использовать мою собственную базу данных sqlite?
- 20. Как использовать базу данных sqlite с Osmdroid?
- 21. sqlite-net не создает базу данных в приложении MonoDroid
- 22. Может ли iPhone использовать базу данных SQLite?
- 23. Отправка данных во внешнюю базу данных
- 24. Как сжать базу данных sqlite
- 25. Вставить значения массива в базу данных sqlite в приложении C#
- 26. Можно ли использовать базу данных без sqlite в android?
- 27. Как включить внешнюю базу данных в phpfox
- 28. Невозможно использовать внешнюю библиотеку в моем приложении
- 29. как читать внешнюю базу данных mysql
- 30. Использовать внешний SQLite базы данных в моем андроид приложении
Значит, вы хотите знать, как открыть базу данных? Вы пробовали [openDatabase] (http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#openDatabase%28java.lang.String,%20android.database.sqlite.SQLiteDatabase.CursorFactory,%20int % 29)? –
Сначала создайте тост. Вернитесь, как только это будет сделано. – jhamon
Сначала скопируйте db в нужную папку. Затем используйте его. –