devfest southwest, nigeria - firebase
TRANSCRIPT
![Page 1: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/1.jpg)
BUILDING REALTIME MOBILE APPS WITH FIREBASE
Moyinoluwa ADEYEMINovember 28, 2015
![Page 2: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/2.jpg)
Firebase is a powerful platform for building realtime feature-rich apps
![Page 3: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/3.jpg)
Realtime Database
NoSQL JSON data store
Cross-platform client-side SDKs
Restful API
Works Offline
Auto-scaling
![Page 4: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/4.jpg)
Authentication
Anonymous
Email / password
Social
Custom
![Page 5: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/5.jpg)
Hosting
Free static asset hosting
SSL certificate
Global CDN
Single command deploys
One-click rollbacks
Custom domains
![Page 6: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/6.jpg)
So you want to learn how to build a realtime mobile chat application with Firebase?
![Page 7: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/7.jpg)
![Page 9: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/9.jpg)
Add the library dependency directly to your app’s gradle.build file
In cases of build errors caused by duplicate files, exclude those files by adding these too
![Page 10: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/10.jpg)
Connect your app to Firebase
![Page 11: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/11.jpg)
Edit your AndroidManifest.xml file
First, request an INTERNET permission in the <manifest> tag
Next, change the name of the application
![Page 12: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/12.jpg)
Create a Chat Model class
![Page 13: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/13.jpg)
Send a message to FirebaseCreate a new Activity, complete with a layout that looks better than this. Be sure to add a <ListView />, an <EditText /> for collecting messages and a <Button /> for sending the data.
![Page 14: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/14.jpg)
Send a message to Firebase
Create a reference to Firebase in the Activity and insert your own firebase url.
![Page 15: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/15.jpg)
Send a message to Firebase
Retrieve the text from the EditText and push to Firebase
![Page 16: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/16.jpg)
Retrieve a message from Firebase
Create a layout for the chat. It could look like this, or even better
![Page 17: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/17.jpg)
Retrieve a message from Firebase
Create a ChatAdapter class that extends FirebaseListAdapter
![Page 18: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/18.jpg)
Retrieve a message from Firebase
Create a ChatAdapter class that extends FirebaseListAdapter
![Page 19: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/19.jpg)
Retrieve a message from Firebase
Override onStart() in MainActivity to read and display the messages
![Page 20: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/20.jpg)
Retrieve a message from Firebase
Override onStop() in MainActivity to remove all the data
![Page 21: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/21.jpg)
Implement offline functionality with Firebase
With just one line of code… seriously
![Page 22: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/22.jpg)
Woohoo!!!
You now have a very basic Firebase app that sends, receives, displays messages and functions offline.
![Page 23: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/23.jpg)
Credits
The official Firebase Chat App example was modified to produce this app.
The complete app including Login functionality implemented with Firebase is available on Github here:
https://github.com/moyheen/LagosFirebaseCodelab
![Page 24: Devfest SouthWest, Nigeria - Firebase](https://reader034.vdocuments.us/reader034/viewer/2022042605/586e88d51a28aba0038b7715/html5/thumbnails/24.jpg)
Twitter LinkedIn GithubMoyinoluwa ADEYEMI
Thank You!