我一直在挣扎着我的Android应用程序中创建一个SQLite数据库。我已经看了许多教程,并在堆栈溢出和其他网站有不少存在的问题。
这里是我DatabaseHelper类
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DatabaseHelper extends SQLiteOpenHelper {
public SQLiteDatabase db;
public static final String DATABASE_NAME = "user.db";
//Module table
public static final String MODULE_TABLE = "modules_table";
public static final String MODULE_COL_1 = "ID";
public static final String MODULE_COL_2 = "CODE";
public static final String MODULE_COL_3 = "TITLE";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
Log.d("SQL", "SQLite dbhelper");
db = getWritableDatabase();
}
@Override
public void onCreate(SQLiteDatabase db) {
//db.execSQL("create table " + MODULE_TABLE + "(" + MODULE_COL_1 + " INTEGER PRIMARY KEY AUTOINCREMENT, " + MODULE_COL_2 + " TEXT, " + MODULE_COL_3 + " TEXT " +")");
db.execSQL("create table modules_table (ID INTEGER PRIMARY KEY
AUTOINCREMENT, CODE TEXT, TITLE TEXT)");
Log.d("SQL", "SQLite onCreate");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + MODULE_TABLE);
onCreate(db);
}
}
我设法让SQLite的dbhelper出现在logcat的,但不能得到的SQLite的onCreate出现,并不能找到在文件浏览器中的任何地方分贝或设备本身,无论是模拟的,真实的设备。
任何帮助将不胜感激,并为代码的格式的歉意!
我建议使用以下(暂时的活动): -
DatabaseHelper myDBHelper = new DatabaseHelper(this); //<<<<<<<<< you appear to already have the equivalent of this line (if so use whatever variable name you have given to the DatabaseHelper object)
Cursor csr = myDBHelper.getWritableDatabase().query("sqlite_master",null,null,null,null,null,null);
DatabaseUtils.dumpCursor(csr);
csr.close();
运行,然后检查日志。你应该看到输出的modules_table也sqlite_sequence(后者因为你已经编码自动增量。
SQLITE_MASTER是系统表,其存储系统的信息,如表和索引名,即模式。
在未植根(数据/数据)保护,因此,您将无法看到数据库文件中的每个应用程序数据的设备。
在一个模拟器,它取决于模拟器。我相信Android的工作室以后的版本做现在允许访问,例如: -
另外,上述的是Android 10.1丿(API 28),因此该数据库有预写式日志(WAL),因此-shm和-wal文件也存在。
包是mjt.pvcheck。完整路径是数据/数据/ mjt.pvcheck /数据库。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句