1

SearchableDictionaryAndroid Samples でモデル化された検索機能を備えたデータベース アプリケーションを構築しようとしています。

ヘルパー クラスは次のとおりです。

public class DataBaseTable {

public static String DATABASE_NAME ="DICTIONARY";
public static int DATABASE_VERSION=1;
private final DatabaseOpenHelper datahelper;
public static String TAG="Databse";
public static String COL_DEFINITION="DEFINITION";
public static String COL_WORD="WORD";
public static String FTS_VIRTUAL_TABLE="FTS";

public DataBaseTable(Context context) {
    datahelper=new DatabaseOpenHelper(context);
}
private class DatabaseOpenHelper extends SQLiteOpenHelper{

    private SQLiteDatabase mDatabase;
    private Context mHelperContext;
    private String FTS_TABLE_CREATE="CREATE VIRTUAL TABLE " + FTS_VIRTUAL_TABLE +" USING fts3 (" +COL_WORD + ", " +COL_DEFINITION + ");";


    DatabaseOpenHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        mHelperContext=context;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {


        db.execSQL("CREATE TABLE DICTIONARY ("+ COL_WORD+ " , "+COL_DEFINITION+");");
        db.execSQL(FTS_TABLE_CREATE);

    }




    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
                + newVersion + ", which will destroy all old data");
        db.execSQL("DROP TABLE IF EXISTS " + FTS_VIRTUAL_TABLE);
        onCreate(db);


    }
}

から、メソッドMainActivityを呼び出します。しかし、エミュレーターにデータベースが表示されません。DatabaseTable db=new DatabaseTable(this);onCreate(Bundle)FileExplorer

私は何か見落としてますか?

編集: MainActivity は次のとおりです。

public class MainActivity extends Activity {

    DataBaseTable db;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        db=new DataBaseTable(this);
        handeIntent(getIntent());

    }


    private void handeIntent(Intent intent) {
        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
            String query = intent.getStringExtra(SearchManager.QUERY);
            Cursor c = db.getMatch(query, null);
            int[] to = new int[] {R.id.name,R.id.def};
        SimpleCursorAdapter adapter=new SimpleCursorAdapter(this, R.layout.info, c, null, to, 0);
        ListView lv=(ListView) findViewById(R.id.listView1);
        lv.setAdapter(adapter);



    }

    }


    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        handeIntent(intent);
    }    
}
4

1 に答える 1