有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    你可能没有根。无论哪种方式,请查看stetho。它的众多功能之一就是可以轻松查看应用程序数据库