Im mới cho android và tôi muốn tạo loại CRUD với SQLite.Nhận đường dẫn cơ sở dữ liệu
Tôi có một public class DataBaseHelper
trong đó có một nhà xây dựng:
public DataBaseHelper(Context context)
{
this.context = context;
}
và một getter cho datebase:
public SQLiteDatabase getDataBase() {
if (dataBase == null) {
try {
dataBase = context.openOrCreateDatabase(DataBaseHelper.dbName,
Context.MODE_PRIVATE, null);
dataBase.execSQL("CREATE TABLE " + DataBaseHelper.accountTblName + " " +
"(ID integer PRIMARY KEY AUTOINCREMENT" +
",name TEXT" +
",address TEXT" +
",password TEXT)");
}
catch(Exception e) {
Log.e(context.toString(), e.getMessage());
if (dataBase != null) {
dataBase.close();
}
}
}
return dataBase;
}
Nếu tôi bắt đầu một chương trình lần đầu tiên - tất cả mọi thứ có vẻ là ổn. cơ sở dữ liệu là null và tôi tạo nó (với một bảng). Nhưng khi tôi khởi động lại cơ sở dữ liệu ứng dụng của tôi là null một lần nữa và bảng không thể được tạo ra.
Tôi đã quyết định viết chức năng checkDB, cố gắng mở cơ sở dữ liệu. Nhưng tôi có thể lấy con đường cho nó ở đâu? Tôi không muốn nó được "hardcoded".
Hoặc có thể tôi đang thực hiện một số loại chống mẫu?
Liệu nó cung cấp cho một con đường Chuỗi ?? Tôi đã biết nó trả về File. Làm thế nào để có được một String? –
@ Archie.bpgc 'context.getDatabasePath (DataBaseHelper.dbName) .toString;' – jmhend
được. Cảm ơn rất nhiều –