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到免费的应用程序和付费的“解锁”应用程序,无需重复您的整个应用程序。 –