Android:无法在data \ data中看到应用名称

时间:2012-02-29 11:38:52

标签: android database sqlite sqliteopenhelper

我尝试在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文件夹中没有文件)

Screenshot

3 个答案:

答案 0 :(得分: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在这里您可以看到数据库文件夹,您可以在其中查看由应用程序创建的所有数据库enter image description here n

答案 1 :(得分:0)

实际上,由于查询错误,您的数据库尚未创建。

将您的查询写为:

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

一旦创建了db文件,就可以浏览到所需的位置

答案 2 :(得分:0)

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