Поиск…


Добавление зависимостей

FirebaseUI - это просто библиотека с открытым исходным кодом от Google, которая обеспечивает легкие привязки интерфейса для Firebase Auth и Firebase Database.

Чтобы добавить приложение FirebaseUI в приложение, добавьте эти зависимости в файл build.gradle вашего приложения:

android {
    // ...
}

dependencies {
    // Required for FirebaseUI Database
    compile 'com.google.firebase:firebase-database:9.4.0'
    compile 'com.firebaseui:firebase-ui-database:0.5.1'

    // FirebaseUI Auth only
    compile 'com.google.firebase:firebase-auth:9.4.0'
    compile 'com.firebaseui:firebase-ui-auth:0.5.1'

    // Single dependency if you're using both
    compile 'com.firebaseui:firebase-ui:0.5.1'
}

apply plugin: 'com.google.gms.google-services'

Заполнение ListView

Предполагая, что вы уже настроили приложение в Android Studio, добавьте ListView в макет (или пропустите, если это уже сделано):

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<!-- Your toolbar, etc -->

<ListView
    android:id="@+id/list_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

</android.support.design.widget.CoordinatorLayout>

Теперь давайте создадим модель для данных, которые собираемся заполнить нашим ListView :

public class Person {

    private String name

    public Person() {
        // Constructor required for Firebase Database
    }

    public String getName() {
        return name;
    }

}

Убедитесь, что у ListView есть идентификатор, а затем создайте ссылку на него в своей Activity и установите его адаптер в новый FirebaseListAdapter :

public class MainActivity extends AppCompatActivity {

    // ...

    private ListView mListView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        // Find the ListView
        mListView = (ListView) findViewById(R.id.list_view);
    
        /* 
         * Create a DatabaseReference to the data; works with standard DatabaseReference methods
         * like limitToLast() and etc.
         */
        DatabaseReference peopleReference = FirebaseDatabase.getInstance().getReference()
            .child("people");

        // Now set the adapter with a given layout
        mListView.setAdapter(new FirebaseListAdapter<Person>(this, Person.class,
                android.R.layout.one_line_list_item, peopleReference) {

            // Populate view as needed
            @Override
            protected void populateView(View view, Person person, int position) {
                ((TextView) view.findViewById(android.R.id.text1)).setText(person.getName());
            }
        });
    }
}

После того, как вы это сделали, добавьте некоторые данные в свою базу данных и посмотрите, как ListView заполняет себя.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow