为什么SQLite数据库没有在android studio的文件资源管理器中显示?

时间:2015-07-26 12:48:46

标签: java android eclipse sqlite android-studio

为了在android中使用SQLite,我编写了这段代码:

public class TimeTrackerOpenHelper extends SQLiteOpenHelper {
     private static final int DATABASE_VERSION = 1;

     // Database Name
     private static final String DATABASE_NAME = "timetracker.db";

     public TimeTrackerOpenHelper(Context context) {
           super(context, DATABASE_NAME, null, DATABASE_VERSION);
     }

     @Override
     public void onCreate(SQLiteDatabase db) {
            db.execSQL("create table timerecords " +
                  "(id integer primary key, time text, notes text)");
     }

     @Override
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
     }
}

并且为了实例化上面的类,我将以下代码添加到我的一个活动类oncreate方法中:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ListView listView = (ListView) findViewById(R.id.times_list);
    adapter = new TimeTrackerAdapter();
    listView.setAdapter(adapter);

    TimeTrackerOpenHelper openHelper = new TimeTrackerOpenHelper(this);
    Log.d("databaseCreation", openHelper.toString());
    openHelper.close();
} 

为了监控我发送到timetracker.db的每个查询的结果,我需要访问我的数据库文件。我执行以下步骤: 1.运行您的申请。 2.转到工具---> Android ---->设备监视器。 3.在左侧面板中查找您的应用程序名称。 4.然后单击“文件资源管理器”选项卡。 5.选择数据文件夹。 6.再次选择数据文件夹,找到您的应用程序或模块名称。 7.单击您的数据库名称。 8.在右上角的窗口中,您可以选择从设备中提取文件。 9.单击它并将其保存在PC上。 10.使用FireFox Sqlite管理器将其附加到您的项目。

但我不得不说我的.db文件没有任何痕迹。那我怎么能找到呢?

2 个答案:

答案 0 :(得分:0)

getReadableDatabase()上致电getWriteableDatabase()SQLiteOpenHelper之前,您的数据库不会被创建。只需创建SQLiteOpenHelper的实例就不会那样做。

答案 1 :(得分:0)

卸载并重新安装该应用,它会起作用,因为您更改了 TimeTrackerOpenHelper 类...