我需要在Android應用程序中使用內部SQLite數據庫使用Eclipse.i嘗試了很多方法,但我無法獲得解決方案。 在此先感謝。如何連接我的Android應用程序中的內部SQLite數據庫?
-1
A
回答
1
嘗試,這是解決方案:
private static String DB_PATH = "/data/data/your.package/databases/";
private static String DB_NAME = "namedatabase.sqlite";
private SQLiteDatabase db;
private final Context context;
public DataBaseWorker(Context ctx) {
super(ctx, DB_NAME, null, 1);
context = ctx;
}
public void createDataBase() throws IOException {
boolean dbExist = checkDataBase();
if (!dbExist) {
File wallpaperDirectory = new File(
"/data/data/your.package/databases/");
wallpaperDirectory.mkdirs();
try {
copyDataBase();
} catch (Exception e) {
Log.v("CREATEDATABASE", "not copy DB");
} finally {
this.close();
}
}
}
public boolean checkDataBase() {
SQLiteDatabase checkDB = null;
try {
String Path = DB_PATH + DB_NAME;
checkDB = SQLiteDatabase.openDatabase(Path, null,
SQLiteDatabase.OPEN_READONLY);
} catch (SQLiteException e) {
Log.v("CHECKDB", "not check DB");
}
if (checkDB != null)
checkDB.close();
return checkDB != null ? true : false;
}
private void copyDataBase() throws IOException {
InputStream input = context.getAssets().open(DB_NAME);
String outFileName = DB_PATH + DB_NAME;
OutputStream output = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];
int length;
while ((length = input.read(buffer)) > 0) {
output.write(buffer, 0, length);
}
input.close();
output.close();
}
public void openDataBase() throws SQLException {
String Path = DB_PATH + DB_NAME;
db = SQLiteDatabase.openDatabase(Path, null,
SQLiteDatabase.OPEN_READWRITE);
}
public void close() {
if (db != null)
db.close();
super.close();
}
public void exec(String query) {
db.execSQL(query);
db.close();
}
的
+0
感謝你的支持,這很好,很清楚,並且會幫助我在下一個小小的Android版本中實現。 – RossC
+0
這是我的榮幸。 –
相關問題
- 1. 如何連接我的Android應用程序中的SQLite數據庫?
- 2. 我如何更新Android應用程序中的SQLite數據庫?
- 3. 如何在sqlite數據庫中部署android應用程序?
- 4. 我如何硬編碼Android應用程序的SQLite數據庫
- 5. 如何將C#應用程序連接到SQLite數據庫
- 6. 我的Android應用程序中的外部Ms Access數據庫連接
- 7. Windows Phone應用程序中的數據庫SQLite連接
- 8. 如何在Android應用程序內執行SQLite數據庫
- 9. 我如何與android應用程序和外部數據庫建立連接?
- 10. Sqlite數據庫無法在我的應用程序中的Android
- 11. Android中的SQLite數據庫連接
- 12. Android Sqlite數據庫連接
- 13. 將我的Android應用程序連接到數據庫
- 14. 在Android應用程序中連接SQLite
- 15. 如何將SQLite數據庫與Android應用程序界面連接
- 16. 內部iPhone應用程序數據庫連接
- 17. 如何將android用戶連接到我的數據庫/ web應用程序?
- 18. 應用程序的數據庫連接
- 19. 如何將外部數據庫連接到應用程序
- 20. 如何部署Lightswitch應用程序連接到MySql數據庫
- 21. 如何從Web應用程序外部連接到數據庫?
- 22. 如何從我的Android應用程序無ROOT下載我的sqlite數據庫?
- 23. Sqlite數據庫不適用於我的Android應用程序
- 24. 如何組織的SQLite數據庫在我的應用程序
- 25. 如何連接一個Android應用程序與數據庫?
- 26. 如何連接ms-access數據庫與android應用程序..?
- 27. 如何從Android應用程序連接到MySQL數據庫
- 28. 如何將Android應用程序連接到RoR數據庫
- 29. 如何連接phpmyadmin數據庫與Android應用程序
- 30. 如何將Live SQL數據庫連接到Android應用程序
可能重複[?如何將SQLite數據庫在我的Android應用程序連接(http://stackoverflow.com/questions/12400333/how-to-connect- -sqlite-database-in-my-android-application) –