私はアンドロイドでSQLiteからデータを読み取ろうとしていますが、ID、名前、日付の3つのパラメータを使用しています。たとえば、id = "number"、name = "something"、日付間( "最初の日付"、 "2番目の日付")です。問題は、私は何をするのか分かりません。最後の機能です。もう2つのパラメータが残っています。私は何をするか、どこに配置するかを知っていません。だから、誰もこのコードスタイルに精通していて、共有したり、助けてくれますか? (私もこの本から、このコードを取ると、これに関連するためのすべてのソリューションは、すべての本ではありませんでした。)androidのSQLiteからデータを取得
//Table person; It contain the same attribute as Person class
public static final class PersonTable
{
public static final String NAME = "Persons";
public static final class Cols
{
static final String ID = "id";
static final String NAME = "name";
static final String DATE = "date";
}
}
public class PersonCursorWrapper extends CursorWrapper
{
public PersonCursorWrapper(Cursor cursor)
{
super(cursor);
}
public Person getPerson()
{
int id = geIntI(getColumnIndex(PersonTable.Cols.ID));
String name = getString(getColumnIndex(PersonTable.Cols.NAME));
long date = getLong(getColumnIndex(PersonTable.Cols.DATE));
Person Person = new Person();
Person.id(id);
Person.setDate(new Date(date));
Person.setName(name);
return Person;
}
}
}
private PersonCursorWrapper queryPersons(String whereClause, String[] whereArgs)
{
Cursor cursor = mDatabase.query
(
PersonTable.NAME,
null,
whereClause,
whereArgs,
null,
null,
null
);
return new PersonCursorWrapper(cursor);
}
public Person getPerson(int id, String name, String date)
{
PersonCursorWrapper cursor = queryPersons(
PersonTable.Cols.ID + " = ?"+" "+
PersonTable.Cols.NAME + " = ?"+" "+
PersonTable.Cols.DATE + " = ?",
new String[] { id.toString() }
);
try
{
if (cursor.getCount() == 0)
{
return null;
}
cursor.moveToFirst();
return cursor.getPerson();
}
finally
{
cursor.close();
}
}
どのような方法ですか? 'mDatabase.query(...)'を意味しますか? –
@AbdulhamidDhaiban mDatabaseはSQLiteDatabaseクラスのインスタントです。そして私もそれをよく理解していません。私は本でそれを見つけました。 –
あなたはあなたが何を参照しているのか分からないので、私はなぜあなたがそれを言及しているのかよく分かりません –