本日は、AndroidでRealmを使ってお気に入りに登録したデータをListViewで表示してみたいと思います。
(ListViewの使い方はListView の基本的な使い方 – Android 開発入門を参考にしてください)
お気に入りはソートの機能も実装してみたいのですが、 ソート機能はまたの機会にして、 今回は全件表示するだけにとどめようと思います。
お気に入り表示までの流れ
- Realmを利用する準備をする
- Realmからデータを全件抽出をする
- ListViewの1つ1つの項目にデータを設定していく
- データが設定された1つ1つの項目をListViewとして表示をする
となります。
1.Realmを利用する準備をする
//ListViewに格納するリスト
ArrayList objects = new ArrayList<>();
//Realmを利用するためのファイル指定
RealmConfiguration config = new RealmConfiguration.Builder(mapsActivity)
.name(FavoriteDataFile)
.build();
//Realmをインスタンス化
Realm realm = Realm.getInstance(config);
RealmQuery<FavoriteModel> query = realm.where(FavoriteModel.class);
※FavoriteModelはAndroidでRealmを使ってみた〜お気に入り機能の実装(其の一)〜を参考に別途クラスを準備してください!! これで準備は完了です。
2.Realmからデータを全件抽出をする
//Realmに存在するすべてのデータを取得する result = query.findAll();
全件抽出はとても簡単で、抽出する条件は色々と変更出来るので、 その辺りは次回以降に記載します。
3.ListViewの1つ1つの項目にデータを設定していく
for(int i = 0; i < result.size(); i++){
FavoriteModel favoriteModel = new FavoriteModel();
//Modelにそれぞれの値を格納していく
favoriteModel.setId(result.get(i).getId());
favoriteModel.setName(result.get(i).getName());
//ModelをListViewのListに格納
objects.add(favoriteModel);
}
抽出したデータのサイズだけfor文で回してArrayListに格納していきます。
4.データが設定された1つ1つの項目をListViewとして表示をする
//ListViewのListをAdapterに設定 favoriteAdapter = new FavoriteAdapter(getActivity() , 0 , list); ListView listView = (ListView)view.findViewById(R.id.favorite_list); //Adapterに設定されたそれぞれの値をListViewに表示する listView.setAdapter(favoriteAdapter)
以上です。
次回はソート機能を実装していきます!
