FirebaseUIを使用すると、このガイド(RecyclerView guideとListView guide)に従ったリストビューと同様に、RecyclerViewを作成できますが、ListViewを要求したので、この場合のみ説明します。
コーディングを開始する前に、プロジェクトをFirebaseに接続する必要があります。まだ行っていない場合は、guideに従うことができます。これで、Firebaseデータベースからリアルタイムデータを取得することができます。
まずあなたがapp/build.gradle
ファイルの依存関係に次の行を追加する必要があります。その後、あなたの活動に、あなたはあなたのリストビューを見つける必要があり
compile 'com.firebaseui:firebase-ui-database:2.3.0'
:
ListView listView = (ListView) findViewById(R.id.listview_id);
とGETデータベースへの参照:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
このようにすると、そのデータをListViewに渡します。 FirebaseUIには、使用できるアダプターのversionがあります。
FirebaseListAdapter mAdapter = new FirebaseListAdapter<YourDatabaseObject>(this, YourDatabaseObject.class, android.R.layout.two_line_list_item, ref) {
@Override
protected void populateView(View view, YourDatabaseObject databaseField, int position) {
((TextView) view.findViewById(android.R.id.text1)).setText(databaseField.getField1());
((TextView) view.findViewById(android.R.id.text2)).setText(databaseField.getField2());
}
};
// Set the adapter of the ListView
listView.setAdapter(mAdapter);
あなたは(あなたのケースOcurencias中)Firebaseデータベースからデータを表し、クラスでYourDatabaseObjectを置き換えることができます。まだ作成していない場合は、このguideに従うことができます。 もしデフォルトIDを使用したので、レイアウトIDを置き換えることもできます。
このようにして、ListViewはデータベースからのデータを表示し、新しいデータがデータベースに挿入されると自動的に更新されます。
データを表示するために必要なオブジェクトをまだ作成していない場合は、上記のガイドに従うか、FirebaseUIのofficial documentationを読んでください。
ご回答ありがとうございます。 しかし、私のコードは異なります –
このコードをアプリケーションにそのまま貼り付けると機能しませんか? –
貼り付けはしませんが、私はあなたのコードを理解しており、疑問が解決しました。あなたのコードでは、データを挿入することはできますが、データを挿入するためには必要な "for"が必要です。 +1 –