Created
August 1, 2019 23:50
-
-
Save zulu15/cf1004fb816b43a00e48864060531ee7 to your computer and use it in GitHub Desktop.
ListView implementation with FirebaseUI
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.zulu.fireapp; | |
import android.support.annotation.NonNull; | |
import android.support.v7.app.AppCompatActivity; | |
import android.os.Bundle; | |
import android.util.Log; | |
import android.view.View; | |
import android.widget.ListView; | |
import android.widget.TextView; | |
import com.firebase.ui.database.FirebaseListAdapter; | |
import com.firebase.ui.database.FirebaseListOptions; | |
import com.google.firebase.database.DatabaseReference; | |
import com.google.firebase.database.FirebaseDatabase; | |
public class Example2 extends AppCompatActivity { | |
private DatabaseReference mDatabaseRef; | |
private ListView listView ; | |
private FirebaseListAdapter<String> fireBaseListAdapter; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_example2); | |
FirebaseDatabase.getInstance().setPersistenceEnabled(true); | |
mDatabaseRef = FirebaseDatabase.getInstance().getReferenceFromUrl("https://fireapp-bd18f.firebaseio.com/Usuarios"); | |
FirebaseListOptions<String> options = new FirebaseListOptions.Builder<String>() | |
.setQuery(mDatabaseRef, String.class) | |
.setLayout(android.R.layout.simple_list_item_1) | |
.build(); | |
fireBaseListAdapter = new FirebaseListAdapter<String>(options) { | |
@Override | |
protected void populateView(@NonNull View v, @NonNull String model, int position) { | |
TextView textView = (TextView) v.findViewById(android.R.id.text1); | |
textView.setText(model); | |
Log.i("Example","populateView called, model: "+model + " pos "+position); | |
} | |
}; | |
listView = (ListView) findViewById(R.id.myListView); | |
listView.setAdapter(fireBaseListAdapter); | |
} | |
@Override | |
protected void onStart() { | |
super.onStart(); | |
fireBaseListAdapter.startListening(); | |
} | |
@Override | |
protected void onStop() { | |
super.onStop(); | |
fireBaseListAdapter.stopListening(); | |
} | |
} | |
//Dependencias build.gradlle | |
/* | |
apply plugin: 'com.android.application' | |
android { | |
compileSdkVersion 28 | |
defaultConfig { | |
applicationId "com.zulu.fireapp" | |
minSdkVersion 16 | |
targetSdkVersion 28 | |
versionCode 1 | |
versionName "1.0" | |
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" | |
multiDexEnabled true | |
} | |
buildTypes { | |
release { | |
minifyEnabled false | |
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' | |
} | |
} | |
} | |
dependencies { | |
implementation fileTree(dir: 'libs', include: ['*.jar']) | |
implementation 'com.android.support:appcompat-v7:28.0.0' | |
implementation 'com.android.support.constraint:constraint-layout:1.1.3' | |
implementation 'com.android.support:multidex:1.0.3' | |
//Firebase UI dependencies | |
// FirebaseUI for Firebase Realtime Database | |
implementation 'com.firebaseui:firebase-ui-database:5.0.0' | |
// FirebaseUI for Firebase Auth | |
implementation 'com.firebaseui:firebase-ui-auth:5.0.0' | |
implementation 'com.android.support:design:28.0.0' | |
testImplementation 'junit:junit:4.12' | |
androidTestImplementation 'com.android.support.test:runner:1.0.2' | |
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' | |
} | |
apply plugin: 'com.google.gms.google-services' // Google Play services Gradle plugin | |
Add this to Manifest file | |
android:name="android.support.multidex.MultiDexApplication" | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment