私は数日間このことを頭に入れていましたが、私はAndroid/JavaでSQLiteデータベースを使用して周りを包み込むことはできません。私はSQLiteデータベースからListArray(または各行につき1つずつ)の2つの行を選択しようとしていますが、それが良いか悪いか分かりません。私は見つけた様々なデータベース・マネージャー・クラスを試しましたが、それらのどれも私が必要とするものはありません。他のデータベース・マネージャーで見たような特別な機能がなければこの単純なタスクを実行できるはずです。既存のSQLiteデータベースからいくつかのデータをクエリしてListArrayに入れて、それを使って作業できるようにする簡単な方法はありますか?私は資産からAndroidデータベースのパスにデータベースをコピーする必要があり、私はその部分を扱うことができることを認識しています。私はまた、行ごとに列の1つを変更できる必要があります。データベースやテーブルや行を作成する必要はありません。私が書いたコード(インターネットからコピーしたもの)はまったく役に立たないと思うので、私はこれを手伝ってくれる人を魅了します。あなたはこのような方法で作成することができますリストアにSQLiteからデータを選択
答えて
:これはあなたのクラスのletの内側になります
private List<MyItem> getAllItems()
List<MyItem> itemsList = new ArrayList<MyItem>();
Cursor cursor = null;
try {
//get all rows
cursor = mDatabase.query(MY_TABLE, null, null, null, null,
null, null);
if (cursor.moveToFirst()) {
do {
MyItem c = new MyItem();
c.setId(cursor.getInt(ID_COLUMN));
c.setName(cursor.getString(NAME_COLUMN));
itemsList.add(c);
} while (cursor.moveToNext());
}
} catch (SQLiteException e) {
e.printStackTrace();
} finally {
cursor.close();
}
return itemsList;
}
はあなたにも宣言する必要がありますMyDatabaseHelper
を言う:
open()
と
close()
に使用
private static class DatabaseHelper extends SQLiteOpenHelper{
private final static String DATABASE_CREATE="create table " + MY_TABLE + " (id integer primary key, country string);";
public DatabaseHelper(Context context,String name, CursorFactory factory, int version){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db){
db.execSQL(DATABASE_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 "+ MY_TABLE);
onCreate(db);
}
}
データベース。
もう1つのオプション(私がよく使う)はハッシュマップにこれらの値を格納して、値として_IDを、そしてキーに "検索可能な用語"を格納して、複数のものを作るのではなく、データベーストランザクションが発生します(極端な減速を引き起こす) – Codeman
あなたのデータベースヘルパークラスは私を助けません。それは、私が資産から既存のデータベースをインポートしているときに実行時にデータベースを作成していると仮定していますが、私はそれを回避することができます。このコードについて私が理解していない2つ目は、クエリです。 'cursor = mDatabase.query(MY_TABLE、null、null、null、null、 null、null); ' これは基本的にSELECT * FROM MY_TABLEを実行していますか? – Carnivoris
はい。ドキュメントを参照してください。 –
- 1. SQLiteから選択ヘルプ(PHP)
- 2. C#からリストアするSQLバックアップセットを選択する方法
- 3. アンドロイドベースのsqliteデータベースからデータを選択する方法
- 4. SQLiteとLua:特定の行から列データを選択
- 5. Sqlite DB Androidバックアップ/リストア
- 6. テーブルからの複数選択月 - sqlite
- 7. ファイアベースからデータを選択
- 8. sqliteからデータを選択するiOSにnull文があります
- 9. SQliteデータベースで選択
- 10. PHPのドロップダウンリストオプションを選択してデータベースからデータを選択
- 11. sqlから結果を複数選択してデータを選択
- 12. 別のテーブルから条件を選択してデータを選択
- 13. SQLiteでIDを選択
- 14. AndroidのSQLiteを選択
- 15. PHP配列からMYSQLデータを選択
- 16. mdx期間からデータを選択
- 17. Django:2モデルからデータを選択
- 18. Kumulosのテーブルからデータを選択
- 19. レコード収集タイプからデータを選択
- 20. ドロップダウンリストからデータを選択するR
- 21. SQLのXMLからデータを選択
- 22. 2テーブルからデータを選択
- 23. ハイブのマルチテーブルからデータを選択
- 24. 多次元リストからデータを選択
- 25. mysqlからデータの選択をドロップダウン
- 26. テーブルからデータを選択しない
- 27. SQLのテーブルからデータを選択
- 28. JSPデータベースからデータを選択
- 29. 選択できないオプションのデータ属性HTMLから選択
- 30. SQLite文から選択した値を返す方法は?
アクセスしようとしているデータ/情報はありますか?連絡先や通話履歴などのAndroidデータベースから情報にアクセスしようとしていますか? Androidデータベースにアクセスしようとする場合は、通常、ContentProviderを使用することをお勧めします。これは、抽象化の層を提供し、Androidがデータベーストランザクションを処理できるようにします。 – Codeman
それは自分で提供したデータベースです。 – Carnivoris
デバッグに役立つように、使用したソースコードをいくつか提供できますか? – Suchi