For the past few days, I've been trying to understand what exactly is Firebase. I am in need of some more 'beginner-friendly' answers on the subject. My intention is to create a backend for my Android project. For my previous project , I used a GoDaddy host , PHP, MySQL and it did work just fine.
I am in need of stuff like these :
Storing string data. Like user email , password , profile picture path , number of friends etc.. (in a single row)
Uploading and downloading files. Video , audio
Creating a real time chat messaging system inside the app.
I am currently reading Firebase guides on user authentication. For example there is a method for signing a new user with email and password , but what if I want to store more than just email and password? Is Firebase fully customizable? Is it easy to use , or is it designed for professional developers only?
Firebase is fully customisable yes.
If you want to store more than an email,password etc, you can do so my creating a well structured JSON first. You can then try and map this to firebase db.
Firebase is a good and stable backend as a service platform and it is used by plenty of professional apps. It is fairly easy to use. Follow their youtube channel for tutorials. They have very good tutorials and explanations about how things work. I am in the exact same boat as you, learning firebase.
You may also want to look at alternatives like pubnub and pusher for the requirement of yours. They work in a similar way.
Hope this clears some of your doubts
Related
I am new to Android Studio and I am developing an application like College Management System.
Basically, in my app, there are two logins- one for faculty and one for students.If any faculty uploading any file to the server, then on student side on the same time they should get a notification.
Not sure where to start, so any suggestion about where to look would be really appreciated.
Thanks!
Use Firebase.
Specifically you'd need Cloud Messaging and maybe Authentication.
Both services are completely free and easy to set up (especially if you're developing using Android Studio, because it is integrated with Firebase and allows you to copy/paste code already configured for your FB account).
There's also a well made documentation.
And if your college wants something more the prices are really cheap.
P.S.
I'm no way affiliated with Firebase or Google.
I have a question that probably has a straight forward answer, but I am asking here to make sure.
If I want to develop an app with users (e.g. Snapchat, Wordfeud etc.), how do I do it? Do I have to use a database of some kind? The users will not have much information stored to them, say nothing more than a username and a score collection.
Can I do this without using databases?
And how do I even set up an app for having users?
You need a database.
For the simplest, you can set up a MySQL database on any server, and make queries to it.
You can follow this tutorial: http://codewithchris.com/iphone-app-connect-to-mysql-database/
You will need a database if you want to implement some functionalities like friendlist and sending messages.
To handle the authentication, Google has built in tools to help you :
https://developers.google.com/identity/sign-in/android/sign-in
I'm new to android. I have Login and register option and sqlite database.
I want to know if i have to store the database on server in order to login my app, or it's save automatically on google's server?
I haven't really built an app like that, but I've researched a little. I hope it helps you too.
You can use the SQLite database to store stuff locally, although I prefer using SharedPreferences because of its easy implementation for smaller details like username and some general preferences.
However, to create a client server login-registration like app, you can use GCM (google cloud messaging) and a server. Now its hard to explain what exactly am I trying to say and how to implement it, but thanks to this guy who made a Tut outta it. I tried building it and it works like a charm. I used a local DB like Xamp, but it works.
Link: http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/
Link 2: http://www.vogella.com/tutorials/AndroidCloudToDeviceMessaging/article.html
These tuts will help you get a gist of GCM and how to configure a server to communicate with GCM and your mobile devices. Good luck!
I want users to send textual feedback to myself(the developer) directly(without involving Google Play).
Hence, I can get the suggestions to improve my app directly to myself, instead of users writing negative reviews on Google Play.
I do not own a website nor have access to any server.
I do not want to use ACTION_SEND, as that opens an email app.
I'm an android beginner and this is my first app.
Maybe that data can be stored in a database(on cloud, common to all users) that I can access at any time I want?
After researching, I think GCM is supposed to be used, but I no idea how to go about it.
Please tell me the easiest way to implement this.
Thank You.
That is not what exactly what GCM is for. GCM is primarily for sending data from the cloud to the the devices.
You are correct in thinking that one option is to store the data in a database in the cloud. You could use http://pythonanywhere.com free account and build a web app that provides you endpoints which will save and retrieve data to a SQLite db pretty easily (if you have knowledge of python and server side web concepts).
Another perhaps simpler option is to use a pre-existing cloud database solution http://www.parse.com is a cloud backend that also has a free-to-use option that you can use to store arbitrary data. It is pretty easy to get up and running if you follow their many nice Android tutorials.
One last option I will present is to use a Google Spreadsheet with a Form associated to it. Once you create a form if you know the right url and parameters you can send a post request to insert arbitrary data into your spreadsheet. I've created a library that simplifies the process of uploading. GoogleFormUploader. If you need help getting your form set up you can watch the relevant portion of my video tutorial covering this topic
I am working on an android app with a group of people and we have our app connected to the database where we store user accounts for the app. We are making a my profile page and we want it to support features like edit password, email, ect. How would we go about doing that? So we need to give that user permission to their information on the database and allow them to edit their name, password, ect. We are new to android development, and I am now coming up with any sites on google on how to do this. Any links, tutorials, would be amazing.
Oh and our database is written in MySQL, its on a remote server.
This doesn't really seem like an Android question specifically. Seems to me there are two components here: the server-side component and the client side. The question about how to implement updating values in the database is a question about
how to expose such functionality in a web API
how to actually perform such CRUD operations in your MySQL database
In other words, think "thin client, thick server". Your app should be concerned only with the UI of updating a profile and with sending those updates values to the server that knows how to handle that. The latter part of this is purely a web development/API development question.
While this may not answer your question exactly, it does point you to the correct area of inquiry, which is oftentimes the most important skill in searching for an answer.