0
A
回答
0
儘管這可能不是您嘗試執行的最佳解決方案,但您的數據庫已存儲在/data/data/your.package.name中。您只需將其作爲文件加載並保存到SD卡即可。檢查這裏的,這是否代碼:
+0
好的,在這種情況下,我將如何從一個本地數據庫導入到另一個本地數據庫?而不是導出到SDCARD然後再導入回來。 – william
+1
您可以在免費應用程序中創建一個內容提供程序,將整個數據庫暴露給其他應用程序。然後在付費應用程序的第一次運行中,創建一個新的空數據庫,通過查詢Content Provider並填寫新數據庫從原始應用程序獲取數據。 –
1
出口例如:
public void exportDB(){
try {
File sd = Environment.getExternalStorageDirectory();
if (sd.canWrite()) {
String currentDBPath = "data/data/com.mypack.myapp/databases/mydb.db";
String backupDBPath = sd + "/filename.db";
File currentDB = new File(currentDBPath);
File backupDB = new File(backupDBPath);
if (currentDB.exists()) {
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
導入是非常相似的出口:
public void importDB(){
try {
File sd = Environment.getExternalStorageDirectory();
if (sd.canWrite()) {
String currentDBPath = sd + "/filename.db";
String backupDBPath = "data/data/com.mypack.myapp/databases/mydb_2.db";
File currentDB = new File(currentDBPath);
File backupDB = new File(backupDBPath);
if (currentDB.exists()) {
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
相關問題
- 1. 保存數據庫到SDcard
- 2. 將數據導入或導出到Excel到Oracle數據庫
- 3. AngularJS - 嘗試將數據導出到Excel
- 4. 將MySql數據庫導出到文件
- 5. 將powershell導出到sql數據庫中
- 6. 將sqlite2數據庫導出到SQL
- 7. 將SQL數據庫導出到Access - ASP.NET
- 8. SqlAlchemy:將表導出到新數據庫
- 9. 將數據庫導出到SD卡
- 10. 將數據庫查詢導出到OPML?
- 11. 將測試數據庫導入到主數據庫
- 12. 將jmeter測試結果導出到mysql數據庫中
- 13. 將數據從Access導入/導出到遠程MySQL數據庫
- 14. 如何從sdcard導入sqlite數據庫到android應用程序
- 15. 導出數據庫到MySQL
- 16. 如何將SQL Server 2008數據庫圖導出到另一個數據庫?
- 17. 將數據庫表導出到模型導出
- 18. 試圖導出數據庫,並導入時有較少的表
- 19. 如何將圖像從數據庫導出到SD卡
- 20. 從數據庫導出數據到HTML?
- 21. 如何將數據從數據庫導出到xml根據XSD
- 22. 將Apex從一個數據庫導出/導入到另一個數據庫
- 23. 將數據導出到Excel
- 24. 將數據導出到csv
- 25. 將數據導出到excel
- 26. 將數據導出到Excel
- 27. 將SDcard中的文件鏈接存儲到SQLite數據庫
- 28. 如何將其他數據庫應用程序複製到SDCard
- 29. 使用ClosedXML將數據從excel導出到數據庫表
- 30. 使用php將數據從數據庫導出到csv文件
你能否詳細到底爲什麼你要這個,如果這個交換應該在兩個方向進行,等等 - 這聽起來像你可能想要共享userId或ContentProvider。 –
我有一個免費版本的應用程序。然後我做了一個有一些很好的升級。但我希望用戶能夠將其當前數據庫導出到SDCARD,然後導入到付費版本。 – william
您是否搜索過[實現免費/付費Android應用程序]的更一般問題(http://stackoverflow.com/search?q=android+%2Bfree+%2Bpaid)?這裏有一些很好的答案,從共享用戶ID到免費的應用程序和付費的「解鎖」應用程序,無需重複您的整個應用程序。 –