android开发:如何在卸载应用程序操作下,不删除原来程序数据库?
2018-01-08 18:19
671 查看
情景:
做项目中发现,如果手动卸载安卓应用程序,会清除掉应用原来的数据,比如sqlite3数据库中的数据,为了避免用户卸载应用程序操作下,不会删掉原来的数据。实现:
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); } //重载这个方法,是用来打开SD卡上的数据库的,android 2.3及以下会调用这个方法。 @Override public SQLiteDatabase openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory) { SQLiteDatabase result = SQLiteDatabase.openOrCreateDatabase(getDatabasePath(name), null); return result; } //Android 4.0会调用此方法获取数据库。 @Override public SQLiteDatabase openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory, DatabaseErrorHandler errorHandler) { SQLiteDatabase result = SQLiteDatabase.openOrCreateDatabase(getDatabasePath(name), null); return result; } @Override public File getDatabasePath(String name) { File parentFile = new File(Environment.getExternalStorageDirectory() + File.separator + "smartDB" + File.separator); if(!parentFile.exists()){ boolean mkParentRes = parentFile.mkdirs(); } File realDBFile = new File(parentFile,name); if(!realDBFile.exists()){ try { realDBFile.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } return realDBFile; } }
参考资料:
android 数据库更改数据库位置
相关文章推荐
- android 如何添加 桌面图标 和 卸载程序后如何删除图标(二)
- android 如何添加 桌面图标 和 卸载程序后如何删除图标
- 在开发ajax程序的时候,如何方便地进行数据库操作
- android如何添加桌面图标和卸载程序后自动删除图标
- 卸载oracle,重新安装卸载,如何删除原来的数据库sid
- android如何添加桌面图标和卸载程序后自动删除图标
- [置顶] Android 操作SQLite数据库(初步)-在程序中删除数据库
- Android程序员学PHP开发(39)-ThinkPHP5.0(11)后台操作数据库(2)查询与删除-phpStudy+Sublime
- 使用JSP开发应用程序时的编码(中文等乱码)问题的建议解决方案(包括接受request和数据库操作)
- 如何卸载android手机rom里的应用程序
- SQL2K数据库开发十六之表操作删除表
- [数据库开发]如何在SQL Server 2005中为安装程序增加计数器注册表项值
- 使用JSP开发应用程序时的编码(中文等乱码)问题的建议解决方案(包括接受request和数据库操作)
- 如何在Struts 数据库应用程序中实现记录的删除、更新及链接
- Android开发中对数据库的操作
- 如何为平板电脑开发android应用程序?
- android 开发技术指导、以及应用程序如何发布到Google Market
- 如何卸载删除oracle816数据库
- SQL2K数据库开发二十五之索引操作删除索引
- servlet 定时操作,定时访问数据库,程序应该如何实现