こんにちはリスト値を使用して行のリストを取得するのに役立つ必要があります。私は文字列のリストを使用して検索クエリを持つことができるかどうか疑問に思っていました。もしそうなら、どのように実装すべきでしょうか?sqliteでList <>を使用して行を選択するandroid
たとえば、私はList<Info>
情報の中にこれらの値を持っています。
Jan 10, 2015 Sept 16, 2015 Sept 20, 2015 Oct 20, 2015
は今、私が何をしようとしているリストにそれらの値が含まれているすべての行を取得することです。
例テーブル
Info table
---------------------------------------------
id name address dates
---------------------------------------------
1 Test Sept 16, 2015
4 Test Sept 20, 2015
10 Test Jan 2, 2015
これは、これは私がこれらの日付を挿入するために使用される方法である行
1 Test
4 Test
を取得する必要があります。
public void insertDates(List<LocalDate> dates, String name) {
int size = dates.size();
sqLiteDatabase = this.getWritableDatabase();
try {
for(int i = 0; i < size; i++) {
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_DATE, String.valueOf(duration.get(i).toString("MMMM d, yyyy")));
contentValues.put(KEY_IS_FILTERED, 0);
contentValues.put(KEY_NAME, name);
sqLiteDatabase.insert(TABLE_INFO, null, contentValues);
}
sqLiteDatabase.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
sqLiteDatabase.close();
}
私はこのクエリを持っていますが、ここで
public List<Info> getInfo(String info) {
List<Info> getInfoList= new ArrayList<>();
sqLiteDatabase = this.getReadableDatabase();
Cursor cursor = sqLiteDatabase.rawQuery("SELECT * FROM "+ TABLE_INFO + " WHERE " + KEY_DATES+ " LIKE '%" + info+ "%'", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
Info info = new Info();
info.setName(cursor.getString(1));
getInfoList.add(info);
cursor.moveToNext();
}
cursor.close();
return getInfoList;
}
日付が何であるか、また、sqliteの –
にYYYY-MM-dd' 'として保存する必要があります'String info'の値は?このメソッドはどうやって呼びますか?これは 'Info info'変数 –
と一緒には動作しません。どのように情報の値を渡していますか? –