sqlite数据库未创建

Bon*_*ond 8 database sqlite android

我正在使用标准方法,我从流行的记事本示例中学习构建我的第一个应用程序.
但我遇到了一个奇怪的问题.
SQLite数据库文件(.db)未在/ data/data/package/databases中创建.我已经从HeadFirst android dev交叉检查了清单文件和OpenHelper文件.书(我用它作为参考)但我发现自己无法弄清楚为什么没有创建数据库文件..
是否有任何特殊权限或我们需要打开以使其工作?
奇怪的是它的预装实例工作正常.意味着'.db'文件是为记事本示例创建的,但是当我尝试时,它会失败.:(
这是我的文件.

包 - database.test

1. AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<uses-sdk android:minSdkVersion="10" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".Database_testActivity"
        android:label="@string/app_name" >
    </activity>
</application>
Run Code Online (Sandbox Code Playgroud)

2.TestOpenHelper.java

package database.test;

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

public class TestOpenHelper extends SQLiteOpenHelper {

TestOpenHelper(Context context){
    super(context,"mydb.db",null,1);
}
@Override
public void onCreate(SQLiteDatabase database){
    database.execSQL("create table test_1 " + " (field1 integer primary key, field2 integer);");
}
public void onUpgrade (SQLiteDatabase database, int oldVersion, int newVersion){
    database.execSQL("drop table if exists test1");
    onCreate(database);
}
}
Run Code Online (Sandbox Code Playgroud)

3.Database_testActivity.java

package database.test;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;

public class Database_testActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ListView listview = (ListView)findViewById(R.id.test_list);
    TestAdapter ta = new TestAdapter();
    listview.setAdapter(ta);

    TestOpenHelper openHelper = new TestOpenHelper(this);
}
}   
Run Code Online (Sandbox Code Playgroud)

我知道这是一个非常基本的问题,但我一直试图解决这个问题,过去十五天,现在我完全感到沮丧.
请帮忙 ..

Sim*_*iak 23

改变这个:

database.execSQL("create table test_1 " + " (field1 integer primary key, field2 integer)");
Run Code Online (Sandbox Code Playgroud)

而这TestOpenHelper openHelper = new TestOpenHelper(this);改变了SQLiteDatabase db = new TestOpenHelper(this).getWritableDatabase();

你真的没有创建数据库,你只创建你的实例,SQLiteOpenHelper但是你必须使用创建或打开数据库getWritableDatabase()getReadableDatabase()方法.

完全来自docs:

创建和/或打开将用于读写的数据库.