私は数日間このことを頭に入れていましたが、私は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データベースからデータを選択する方法
- 2. SQLiteとLua:特定の行から列データを選択
- 3. Sqlite DB Androidバックアップ/リストア
- 4. テーブルからの複数選択月 - sqlite
- 5. 多次元リストからデータを選択
- 6. レコード収集タイプからデータを選択
- 7. PHP配列からMYSQLデータを選択
- 8. 2テーブルからデータを選択
- 9. Oracleデータ・ダンプとデータ・リストア
- 10. フレックスグリッドからのデータのフィルタリングと選択
- 11. データベースからのデータの選択(Yii)
- 12. ツリービューからのデータの選択
- 13. ストアドプロシージャからのデータの選択
- 14. JPA(選択)から選択
- 15. SQLiteの特定の外部キーからのカウントを選択
- 16. SQLite文から選択した値を返す方法は?
- 17. Androidの選択ステートメントSQLite
- 18. Multiple複数のシンプルなアダプタのリストア性の選択
- 19. アラビア語データの挿入と選択Android SQLite
- 20. SQLite - 選択式が非常に遅い
- 21. 1つのビューからデータを選択し、別のビューから選択するために使用します。
- 22. 選択データ
- 23. 選択データ
- 24. 選択データ
- 25. 複数の選択ボックスでオプションを選択し、選択したオプションからデータを読み込む方法
- 26. SQLite&androidからアラビア語データを選択するとエンコーディングに誤りがあります
- 27. 選択値から選択した値を選択します。
- 28. UITableViewから選択した行データをUIButtonに表示
- 29. 私はリストビューからランダムにデータを選択します
- 30. mysqlからタイムスタンプと間隔に基づいてデータを選択
アクセスしようとしているデータ/情報はありますか?連絡先や通話履歴などのAndroidデータベースから情報にアクセスしようとしていますか? Androidデータベースにアクセスしようとする場合は、通常、ContentProviderを使用することをお勧めします。これは、抽象化の層を提供し、Androidがデータベーストランザクションを処理できるようにします。 – Codeman
それは自分で提供したデータベースです。 – Carnivoris
デバッグに役立つように、使用したソースコードをいくつか提供できますか? – Suchi