braineer freelance(ブレイナーフリーランス)

ニュース・コラム

スキル 2017年 7月23日 97

AndroidでRealmを使ってみた〜お気に入り機能の実装(其の三)〜

AndroidでRealmを使ってみた〜お気に入り機能の実装(其の三)〜

本日は、AndroidでRealmを使ってお気に入りに登録したデータをListViewで表示してみたいと思います。

(ListViewの使い方はListView の基本的な使い方 - Android 開発入門を参考にしてください)

 

お気に入りはソートの機能も実装してみたいのですが、 ソート機能はまたの機会にして、 今回は全件表示するだけにとどめようと思います。

 

お気に入り表示までの流れ

1. Realmを利用する準備をする

2. Realmからデータを全件抽出をする

3. ListViewの1つ1つの項目にデータを設定していく

4. データが設定された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)

 

以上です。

次回はソート機能を実装していきます!

ページ上へ