package jp.mixi.sample.test; import android.content.ContentResolver; import android.content.Context; import android.database.Cursor; import android.provider.BaseColumns; import jp.mixi.sample.test.entity.SampleDBEntity; import java.util.ArrayList; import java.util.List; public class SampleTestTarget3 { // DB に問い合わせた結果を、適宜データ構造に当てはめてオブジェクトを作って、リストで返すメソッド public List<SampleDBEntity> getAllListFromDB(Context context) { List<SampleDBEntity> list = new ArrayList<SampleDBEntity>(); ContentResolver resolver = context.getContentResolver(); Cursor c = null; try { c = resolver.query(TestTargetContentProvider.CONTENT_URI, new String[] { BaseColumns._ID, "name" }, null, null, null); // 結果があれば、ポインタを先頭に移動してから処理を始める if (c.moveToFirst()) { do { // Cursor からデータを取り出してインスタンスを作ってリストに詰める、1 回以上の繰り返し int id = c.getInt(c.getColumnIndex(BaseColumns._ID)); String name = c.getString(c.getColumnIndex("name")); list.add(new SampleDBEntity(id, name)); } while (c.moveToNext()); } } finally { // リソースを閉じる if (c != null) { c.close(); } } return list; } }