Devfest SouthWest, Nigeria - Firebase

24
BUILDING REALTIME MOBILE APPS WITH FIREBASE Moyinoluwa ADEYEMI November 28, 2015

Transcript of Devfest SouthWest, Nigeria - Firebase

Page 1: Devfest SouthWest, Nigeria - Firebase

BUILDING REALTIME MOBILE APPS WITH FIREBASE

Moyinoluwa ADEYEMINovember 28, 2015

Page 2: Devfest SouthWest, Nigeria - Firebase

Firebase is a powerful platform for building realtime feature-rich apps

Page 3: Devfest SouthWest, Nigeria - Firebase

Realtime Database

NoSQL JSON data store

Cross-platform client-side SDKs

Restful API

Works Offline

Auto-scaling

Page 4: Devfest SouthWest, Nigeria - Firebase

Authentication

Anonymous

Email / password

Social

Custom

Page 5: Devfest SouthWest, Nigeria - Firebase

Hosting

Free static asset hosting

SSL certificate

Global CDN

Single command deploys

One-click rollbacks

Custom domains

Page 6: Devfest SouthWest, Nigeria - Firebase

So you want to learn how to build a realtime mobile chat application with Firebase?

Page 7: Devfest SouthWest, Nigeria - Firebase
Page 8: Devfest SouthWest, Nigeria - Firebase

Sign up on https://www.firebase.com/ to get a firebase (data) url

Page 9: Devfest SouthWest, Nigeria - Firebase

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

Connect your app to Firebase

Page 11: Devfest SouthWest, Nigeria - Firebase

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

Create a Chat Model class

Page 13: Devfest SouthWest, Nigeria - Firebase

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

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

Send a message to Firebase

Retrieve the text from the EditText and push to Firebase

Page 16: Devfest SouthWest, Nigeria - Firebase

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

Retrieve a message from Firebase

Create a ChatAdapter class that extends FirebaseListAdapter

Page 18: Devfest SouthWest, Nigeria - Firebase

Retrieve a message from Firebase

Create a ChatAdapter class that extends FirebaseListAdapter

Page 19: Devfest SouthWest, Nigeria - Firebase

Retrieve a message from Firebase

Override onStart() in MainActivity to read and display the messages

Page 20: Devfest SouthWest, Nigeria - Firebase

Retrieve a message from Firebase

Override onStop() in MainActivity to remove all the data

Page 21: Devfest SouthWest, Nigeria - Firebase

Implement offline functionality with Firebase

With just one line of code… seriously

Page 22: Devfest SouthWest, Nigeria - Firebase

Woohoo!!!

You now have a very basic Firebase app that sends, receives, displays messages and functions offline.

Page 23: Devfest SouthWest, Nigeria - Firebase

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