情景:
做项目中发现,如果手动卸载安卓应用程序,会清除掉应用原来的数据,比如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.openOrCreateDa