私はWIndows PCで作成したSQLiteデータベースを読み込もうとしています。 私はテーブルを読んでリストビューに表示したいだけです。 エミュレータ上のどのデータベースにもアクセスできませんか? "DIC.db"をAssetsフォルダに配置しました。テーブル名はDICです。 4つの列、1つの整数、3つのテキスト列があります。 DBite for SQLite(PC)で作成しました。 辞書を作成したいと思います。 ID、JApanese、英語とPronounciationがあります。 私にあなたの助言を与えてください。SQliteファイルを読み込めません/ Androidスタジオ2.0
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DBNAME = "DIC.db";
private Context mContext;
private SQLiteDatabase mDatabase;
public DatabaseHelper(Context context) {
super(context, DBNAME, null, 1);
this.mContext = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public void openDatabase() {
String dbPath = mContext.getDatabasePath(DBNAME).getPath();
if(mDatabase != null && mDatabase.isOpen()) {
return;
}
mDatabase = SQLiteDatabase.openDatabase(dbPath, null, SQLiteDatabase.OPEN_READWRITE);}
public void closeDatabase() {
if(mDatabase!=null) {mDatabase.close();}
}
public List<SDic> getListWord() {
SDic sDic = null;
List<SoccerDic> wordList = new ArrayList<>();
openDatabase();
Cursor cursor = mDatabase.rawQuery("SELECT * FROM DIC", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
soccerDic = new SDic(cursor.getInt(0), cursor.getString(1), cursor.getString(2), cursor.getString(3));
wordList.add(sDic);
cursor.moveToNext();
}
cursor.close();
closeDatabase();
return wordList;
}
}
これは主に文書化された手順です。グーグルはそれを行う方法の例がたくさんあります。 – njzk2
あなたのコードが正しいと仮定すると、どこのデータベースをエミュレータに置きましたか? –
これに役立つライブラリがあります。 https://github.com/jgilfelt/android-sqlite-asset-helper –