0

我尝试在 Android 上使用 SQLite。我想查看我的数据库文件。所以,我使用Android File Explorer并浏览了这个链接: Data\data\App_name但是在Data\data. 我看不到我的应用名称。(在下面的代码中将是:com/app/TimeTracker)

这是我要测试的代码:

首先是我的主程序:

package com.app;
    public class TimeTrackerActivity extends Activity {    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            TimeTrackerDatabase database = new TimeTrackerDatabase(this);
        }
    }

第二个是我的数据库助手:

package com.app;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class TimeTrackerDatabase extends SQLiteOpenHelper {

    public TimeTrackerDatabase(Context context){
        super(context, "timetracker.db", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase database) {
        database.execSQL(
                "CREATE TABLE timerecords"+"id INTEGER PRIMARY KEY, time TEXT, notes TEXT)"
        );
        
    }

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

}

以上两个文件有问题吗?如果有,请告诉我是什么。如果没有,请告诉我如何解决这个问题。

谢谢 :)

@Edit:我添加了我的数据文件夹的屏幕截图。(lib文件夹中没有文件)

截屏

4

3 回答 3

1

与数据库相关的问题将通过您的代码中的以下更新来解决。

package com.app;
    public class TimeTrackerActivity extends Activity {    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            TimeTrackerDatabase database = new TimeTrackerDatabase(this);
SQLiteDatabase db = database.getWritableDatabase();   //Add this line.
        }
    }

public class TimeTrackerDatabase extends SQLiteOpenHelper {

    public TimeTrackerDatabase(Context context){
        super(context, "timetracker.db", null, 2);

    }


@Override
    public void onCreate(SQLiteDatabase database) {

     database.execSQL(

                "CREATE TABLE timerecords" +
                "(id INTEGER PRIMARY KEY, time TEXT, notes TEXT)"

        );

    }

关于您的应用程序在文件资源管理器中不可见,您需要按包名称搜索如下 data/data/com.app ,在这里您可以看到数据库文件夹,您可以在其中看到应用程序创建的所有在此处输入图像描述数据库

于 2012-02-29T11:44:12.593 回答
0

实际上,由于查询错误,您的数据库没有被创建。

将您的查询写为:

"CREATE TABLE IF NOT EXISTS timerecords
    (id INTEGER PRIMARY KEY, time TEXT, notes TEXT);"

一次,创建 db 文件,然后您可以浏览到所需的位置

于 2012-02-29T11:45:05.497 回答
0

不是 Data\data\App_name ,而是 Data\data\package_name。因此,在您的情况下,它将是 Data\data\com.app\ 尝试在那里查看您的 db 文件。

于 2012-02-29T12:04:22.280 回答