同様の質問を探しましたが、見つかりませんでした。
私は通常、カーソルを返す関数を定義する別のデータベース クラスを使用します。例えば、
public Cursor all(Activity activity) //cursor for Activities
{
String[] from = { _ID, column1, column2, column3, column4};
String order = _ID;
SQLiteDatabase db = getWritableDatabase();
Cursor cursor = db.query(TABLE_NAME, from, null, null, null, null, order);
activity.startManagingCursor(cursor);
return cursor;
}
次に、使用できるアクティビティから
Cursor cursor = database.all(Activity.this);
、カーソルのインスタンスを取得します。
私の質問はこれです。すべての列の値が必要ではなく、最初の 3 つだけを言うとします。パフォーマンスの観点から、カーソルで最初の 3 つの列の値のみを返すデータベース クラスで別の関数を定義する価値はありますか?(特に、カーソルを使用してリストを作成している場合)
ご存知のように、リスト項目を描画するためにすべての列の値を必要としないカスタム リスト アダプターを実装しているときに、この質問に遭遇しました。