java SQLite数据库未显示在文件资源管理器中
我正在使用Android Studio制作一个简单的日志应用程序,用户可以在其中添加他们的时间和笔记,这些应该保存到SQLite数据库中。然而,当我试图在Android设备监视器/文件浏览器中查找数据库时,它不会出现在名为“data”的文件夹中(你们中的一位建议将其保存在该文件夹中)。
在这里的一个问题中,也说明了数据库在执行getWritableDataBase()
或getReadableDataBase()
之前不会出现。然而,即使我找不到它,数据文件夹仍然是空的。我试图卸载并再次安装,但也没有成功
TimeListDataBaseHelper。java
public class TimeListDataBaseHelper {
public static final int DATABASE_VERSION=2;
public static final String DATABASE_NAME="TimeTracker.db",TABLE_NAME="time_records",TIMETRACKER_COLUMN_ID="id",TIMETRACKER_COLUMN_TIME="time",TIMETRACKER_COLUMN_NOTE="note";
private TimeTrackerOpenHelper timeTrackerOpenHelper;
public SQLiteDatabase database;
public TimeListDataBaseHelper(Context context)
{
timeTrackerOpenHelper=new TimeTrackerOpenHelper(context);
database=timeTrackerOpenHelper.getWritableDatabase();
}
private class TimeTrackerOpenHelper extends SQLiteOpenHelper
{
public TimeTrackerOpenHelper(Context context)
{
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + "(" + TIMETRACKER_COLUMN_ID + " INTEGER PRIMARY KEY," + TIMETRACKER_COLUMN_TIME + " TEXT," + TIMETRACKER_COLUMN_NOTE + " TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
database.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME);
onCreate(db);
}}
public void saveTimeRecord (String time,String notes)
{
ContentValues contentValues=new ContentValues();
contentValues.put(TIMETRACKER_COLUMN_TIME,time);
contentValues.put(TIMETRACKER_COLUMN_NOTE,notes);
database.insert(TABLE_NAME,null,contentValues);
}}
这是main活动的一部分。java我认为这与我的问题有关,问题是日志表明数据库是创建的,因为我在日志之前写了一条if语句。d
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
timeListDataBaseHelper=new TimeListDataBaseHelper(this);
if(timeListDataBaseHelper.database!=null)
Log.d("tag","Data Base Created");
ListView listView=(ListView) findViewById(R.id.time_list);
timeTrackerAdapter=new TimeTrackerAdapter();
listView.setAdapter(timeTrackerAdapter);
}
# 1 楼答案
你可能没有根。无论哪种方式,请查看stetho。它的众多功能之一就是可以轻松查看应用程序数据库