Starting with databases, Firebase or SQLite? [closed] - android

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
So I´m currently developing an App for workouts. I have Objects called Exercises, when I start a workout I fill the exercises with data, for example how many repetitions I did for each exercise. I want to collect all the data and evaluate it later. So that I can draw a diagram about how my repetitions increased over several workouts.
I´m currently saving my workouts and exercises in an ArrayList which serialize and deserialize everytime I start and close my application. It works but I think it would make more sense if I handle all my Objects and data with a database, is that right? However I have never did something with databases before and wondering where I should start. So my 1st Question is, do you know any good beginner tutorials on databases particularly for android?
As far as I understand it, the 2 options I have is to use SQLite or Firebase for my Android Application. My 2nd Question is, which one should I choose? I know SQLite is for locally storing Data. Currently I´m operating locally but I think in the future I want to support saving my data online. So Firebase might be a better choice, however the data should be accessible when there´s no internet connection.
I would appreciate any advice and explains about how databases and which to use. Links to good tutorials would be great too. Thank you!

As far as your 1st Question is concerned, it is a bit open-ended. Do you care about learning a particular Database Management System (DBMS) (e.g., MySQL, Postgres etc)? Or do you care about learning principles of database management systems? If you pick the former, then you have to pick a system, learn its syntax, and adopt it to your App's needs. On the other hand, if you pick the latter, then getting an online course on Principles on Database Management Systems is what you need to do. Personally, I believe that if you follow the first path, you will probably achieve your current goal faster, but in the future you might encounter database-related problems that you won't be able to solve. The latter will take more effort, but it makes more sense if you believe you will have to work with a database in the future.
I don't believe if it's fruitful on my end to provide any links for the following reasons: (i) the Internet is full of online tutorials for different DBMSs, (ii) I don't want to bias you on a particular MOOC that I consider good.
Turning to Question 2, I think you need to first establish your App's scenario. Is the App designed to store data locally, and those are used just by the App? If yes, then an embedded DBMS (like SQLite) is the way to go, since it will be part of your process space, the data will be manageable outside the application if needed, and it can cover all your concurrency/consistency requirements. On the other hand, if your data will be used by an external service as well, then you need a Server-based DBMS service (like Firebase).
I hope my answer helped.

Related

How to Cloud Database Cross-platform apps? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 1 year ago.
Improve this question
I need some tips, something to give me a way or to brighten my mind. My app idea is a Recipe's Book app. But I imagine the following scenario: user writes recipes in PC (desktop app), and then, when going to cook, at the kitchen, read/ edit the recipes on the Mobile version. Aka the app do the same things in both platforms. The app is simple, basically the data will be text. But my problem is: I only knew how to develop native apps, both mobile or desktop, with local database. Recently I've been developing on xamarin. I'm doing well at it, but My question is: how am I going to share this database? I would need it to be on cloud, right? So how could I be doing that? I just want to understand, not how exactly to do it, but now I dont have a clue on how to do that. And if you have a better platform to develop this idea, I accept tips
You need two things
Database
API
The database is to store the data, and the API is the way your different apps will exchange the data with the API.
API in a nutshell
For example : the desktop will talk to the API to add a recipe to the database, and form the other side the Mobile App will ask the API to get that recipe.
I advice you to start with MongoDB (free tier) and Express it's the fastest way to get started
According to your situation I can advice you to use Firebase Real Time Database, it has all the functionality you want of updating data in real time and fetch it also faster and implementing it is not hard as you need to configure it in your project environment I can refer you to this Page to learn more about firebase , in case you want to refer to their documentation check here.

implementing a vocabulary app for android and pc with a shared database [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I am starting to develop a vocabulary app out of necessity without good prior knowledge of the tools that I will have to use. Please excuse the nooby question: your answers, even short and vague, will save me lots of time...
The app is supposed to store entries made by user (words) and display them for learning purposes. Once the words are entered from a mobile device, the database should be accordingly updated on PC. If the entries are made from PC, the database is updated on the mobile phone. What is an adequate way to implement this? If written in C# with SQLite, the database file would have to be imported/exported each time the entries are made which would be painful.
I have just a guess that a kind of a web app will suite the purpose. From you I only need general directions: what languages, what techonology/software/tools. Thank you and sorry for the type of question!
As you stated, you're only at the beginning.
But in order to give you a general guideline to help you started, I would save the DB in firebase DB solutions (they used to have one, now there two). Then, you'll have read and write access to it both from your PC client and your Android client (and any other client that is connected to the internet, like iPhone as well for that matter).
This also lets you to pick any programming language you'd like.
Firebase is Google's set of many handy tools and libraries that help during software and app development. You can read more at the official site: https://firebase.google.com/.

The optimal way of storing data from an android list, then exporting it to sync with a master database [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I'm basically creating an android application which takes around 8 forms (forms consist of EditText field and CheckBoxes) and will store them in a database, so that it can be later synced/added to a pre-existing database (Microsoft SQL 2008).
Which would the best way to store and sync (maybe daily or weekly) data to a pre-existing database in my case. I do not have much experience in android backend, as I've only ever worked with shared preferences to store data locally, so a simpler solution will ease this process. Cheers!
Edit:
TLDR: This question was asked to find out, which route shall be taken when one needs to store data taken from a form filled by the user so that it can be later synced with an existing database (which in my case is a Microsoft SQL 2008). The main aim of the android application was get the various databases and push it to the cloud.
As of 24/1/17: I've created a SQLite Database and have begun storing the data, I'm still not sure which method would be the best to export the data. I will keep on documenting the progress.
You could look at azure cloud services link, you need some knowledge about odata.
or
You could try firebase link, understanding of json is required.
Because you have knowledge about sql I suggest you have a look at some tutorials for linking sql with azure or sqlite with azure.
Use a POJO and store them to firebase. Check this and this or watch this video. hope it helps.

Can I use Google Drive instead of a Server [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I am creating my first Android application. This will be something like a Diary or Notebook.
Andorid part is almost done and I don't know what should I do next.
Should I use data base, server....
Or can I use Drive API instead of both?
Thank you
If you're creating a note or a diary app, your better off using some sort of database, whether that's a local SQLite database on the device or a remote database.
If remote it will need some sort of web service to communicate with the database as Android doesn't support connecting to remote mysql databases such as MySQL.
Whether the database is local or remote, it doesn't matter but this would be the better option. If it is stored in the database you can store and retrieve the meta data more easily, such as creation time, title, etc whereas in Google Drive you would either need lots of files or store the data in 1 file in a particular way that you can then parse to get the meta data out.
You could however, export the data from a database and store that on Google drive that can be used as a backup/restore option.
This is a variation on the perennial rdbms vs networked filesystem approach. Many large projects I have worked with have used both, even together. Usually an RDBMS gives you more flexibility and easier development, while a networked filesystem approach works better when you are working with other tooks which expect file-level access.
The simple answer is yes you can but it probably is not worth it. You end up having to do a lot of work yourself to implement what SQLite can offer you. And in the case of Google Drive, latency will likely be a killer.
So keep your data local and fast. And work with something that gives you the flexibility you need.

Backend-server for mobile apps [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I was wondering how people generally realize backends for either complex data-synchronization ("cloud"-sync, since everyone seems to love that word) or simple user-management when developing mobile apps for iOS an Android. I'm not much of a web-guy, so I'm sorta clueless here.
What's your system of choice? Is everyone just writing custom solutions in Ruby, PHP, Java Servlets... which return JSON via HTTP (HTTPS for confidential information) or is there any standardized framework out there that I've been missing? Especially in combination w/ databases - apparently, you need to store the information somewhere.
Sorry for the very general question - but I'm not really sure where to start refreshing my knowledge here.
You can try Parse.com as a backend solution.
If it is simple application I use parse.com. If I need more flexible backend I use Ruby on Rails.
It's so simple to get started with a mobile backend these days that you should really give it a shot.
Kii Cloud for example supports data and file synchronization and user management including support for Facebook and Twitter accounts and has a generous free tier with carrier grade scalability and reliability.
From all the research I have done Parse or Kinvey sound like the best choices. I was about to build out my won backend out of pure ignorance but after researching thee tools I am going to go with one of them. Kinvey has a pretty cool estimation tool that demonstrates how much time you will save: http://www.kinvey.com/app-cost-estimator
Hey why reinvent the wheel.
Built.io's Backend https://www.built.io/products/backend/overview is my backend solution of choice, its such a simple and straightforward tool to design and build apps.

Categories

Resources