我想从设备上删除SQLite数据库。我试图删除它,但没有删除,因为我可以看到数据库的旧记录。如何删除SQLite数据库android?
试图删除这样的:
deleteDatabase(Constants.DATABASE_NAME);
DatabaseHelper db = new DatabaseHelper(this);
db.createDatabase();
常量:
public class Constants {
public static final int DATABASE_VERSION = 12;
public static final String DATABASE_NAME = "contactsApp";
}
DatabaseHelper:
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String USER_TABLE = "userTable";
private static final String KEY_USER_NAME = "userName";
private static final String KEY_EMAIL_ID = "emailId";
private static final String KEY_MOBILE_NO = "mobileNo";
private static final String KEY_PROFILE_IMAGE = "profileImage";
private static final String KEY_FULL_NAME = "fullName";
private static final String KEY_DEVICE_ID = "deviceId";
private static final String KEY_PASSWORD ="password";
private static final String KEY_USER_ID = "userId";
private static final String KEY_JOB_TITLE = "jobTitle";
private static final String KEY_WORK_ADDRESS = "workAddress";
private static final String KEY_WORK_PHONE = "workPhone";
private static final String KEY_HOME_ADDRESS = "homeAddress";
private static final String CONTACT_TABLE = "contactTable";
private static final String KEY_CONTACT_NAME = "contactName";
private static final String KEY_CONTACT_EMAIL_ID = "contactEmailId";
private static final String KEY_CONTACT_MOBILE_NO = "contactMobileNo";
private static final String KEY_CONTACT_PROFILE_IMAGE = "contactProfileImage";
private static final String KEY_CONTACT_ID = "contactId";
private static final String KEY_CONTACT_FULL_NAME = "fullName";
private static final String KEY_CONTACT_JOB_TITLE = "jobTitle";
private static final String KEY_CONTACT_WORK_ADDRESS = "workAddress";
private static final String KEY_CONTACT_WORK_PHONE = "workPhone";
private static final String KEY_CONTACT_HOME_ADDRESS = "homeAddress";
private Context context;
public DatabaseHelper(Context context) {
super(context, Constants.DATABASE_NAME, null, Constants.DATABASE_VERSION);
//3rd argument to be passed is CursorFactory instance
this.context = context;
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
createTable(db);
}
public void createDatabase(){
context.deleteDatabase(Constants.DATABASE_NAME + ".db");
SQLiteDatabase db = this.getReadableDatabase();
}
public void createTable(SQLiteDatabase db){
String CREATE_USER_TABLE = "CREATE TABLE " + USER_TABLE + "("
+ KEY_USER_ID + " TEXT,"
+ KEY_USER_NAME + " TEXT,"
+ KEY_PASSWORD + " TEXT,"
+ KEY_MOBILE_NO + " TEXT,"
+ KEY_EMAIL_ID + " TEXT,"
+ KEY_PROFILE_IMAGE + " TEXT,"
+ KEY_FULL_NAME + " TEXT,"
+ KEY_DEVICE_ID + " TEXT,"
+ KEY_JOB_TITLE + " TEXT,"
+ KEY_HOME_ADDRESS + " TEXT,"
+ KEY_WORK_ADDRESS + " TEXT,"
+ KEY_WORK_PHONE + " TEXT " + ")";
db.execSQL(CREATE_USER_TABLE);
String CREATE_CONTACT_TABLE = "CREATE TABLE " + CONTACT_TABLE + "("
+ KEY_CONTACT_ID + " TEXT,"
+ KEY_CONTACT_NAME + " TEXT,"
+ KEY_CONTACT_MOBILE_NO + " TEXT,"
+ KEY_CONTACT_EMAIL_ID + " TEXT,"
+ KEY_CONTACT_PROFILE_IMAGE + " TEXT,"
+ KEY_CONTACT_FULL_NAME + " TEXT,"
+ KEY_CONTACT_JOB_TITLE+ " TEXT,"
+ KEY_CONTACT_WORK_ADDRESS + " TEXT,"
+ KEY_CONTACT_WORK_PHONE + " TEXT,"
+ KEY_CONTACT_HOME_ADDRESS + " TEXT " + ")";
db.execSQL(CREATE_CONTACT_TABLE);
}
// Upgrading database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if existed
db.execSQL("DROP TABLE IF EXISTS " + USER_TABLE);
db.execSQL("DROP TABLE IF EXISTS " + CONTACT_TABLE);
context.deleteDatabase(Constants.DATABASE_NAME + ".db");
createTable(db);
}
}
我也试着只删除表,但它没有得到删除。
可能是什么问题?任何人都可以帮忙吗?谢谢..
2016-10-20
Sid
+0
怎么样:http://stackoverflow.com/questions/5326918 /如何删除数据库在sqlite –
+0
你的删除方法在哪里? –