私は3つのテーブルでデータベースを作成しました。データベースの内容の取得とリストビューがエミュレータで正常に機能するように表示します。しかし、デバイスではリストビューは空です。「DBHelper」を使用しました。デバイス内の既存のデータベースの内容を表示できないのはなぜですか?
public class DatabaseHelper{
private static final String TAG = "DBAdapter";
public static final String column_1="CategoryName";
public static final String row_id="_id";
public static final String wordcolumn="word";
public static final String row_idword="_id";
public static final String row_idfor="CategoryId";
private DatabaseHelperDB dDbhelper;
private SQLiteDatabase dDb;
private DatabaseAdapter dbAdapt;
private static final String Database_CreateCat="create table if not exists categorys (_id integer primary key, CategoryName text not null);";
private static final String Database_CreateWord="create table if not exists wordss (_id integer primary key autoincrement, "
+ "CategoryId integer, word text not null, foreign key(CategoryId) references categorys(_id));";
private static final String Database_Name="idea_generator_db2_1";
private static final String Database_TableCat="categorys";
private static final String Database_TableWord="wordss";
private final Context dctx;
private static final int database_version=1;
public DatabaseHelper(Context ctx)
{
this.dctx=ctx;
dDbhelper=new DatabaseHelperDB(ctx);
}
private static class DatabaseAdapter extends SQLiteOpenHelper
{
DatabaseAdapter(Context context)
{
super(context,Database_Name,null,database_version);
}
public void onCreate(SQLiteDatabase db)
{
try{
db.execSQL(Database_CreateCat);
db.execSQL(Database_CreateWord);
//db.execSQL(sql)
}catch(SQLException e)
{
e.printStackTrace();
}
}
public void onUpgrade(SQLiteDatabase db,int oldversion,int newversion)
{
Log.w(TAG, "Database upgradation from version "+oldversion+" to "+newversion);
db.execSQL("DROP TABLE IF EXISTS "+Database_TableCat);
db.execSQL("DROP TABLE IF EXISTS "+Database_TableWord);
onCreate(db);
}
}
public DatabaseHelper open()throws SQLException{
dDbhelper= new DatabaseHelperDB(dctx);
dDb=dDbhelper.getWritableDatabase();
return this;
}
public void close()
{
dDbhelper.close();
}