How to chose database for android application?

I am trying to decide about database in my android application the description of the application is as the following : An interactive learning Android application to teach kids programming with python. The app includs 5 levels each level contains number of lessons with intrtactive exercises and feedbacks to the child's answer. After the child finishes all the lessons in the level , he will take a quiz which contains some questions and hints . According to the child's answers the score of him will be updated so he can unlock the next level . After the child unlocks all the levels he will be given a certificate of excellence.
My questions are : 1-Do I have to store the content of the lessons in the DB or its better to write it directly in the code ? each level may contain up to 10 lessons as maximum .and the lesson is only one or two interfaces but it can be in the form of text , image or video . 2-Is it better to have a registration or not ? 3-if I need a DB , what should I store in , and what is the best type I should choose ? Thank you .

1 answer

  • answered 2018-11-07 17:24 MWB

    Welcome to StackOverflow!

    Here is my humble opinion:

    1-Do I have to store the content of the lessons in the DB or its better to write it directly in the code ? each level may contain up to 10 lessons as maximum .and the lesson is only one or two interfaces but it can be in the form of text , image or video.

    To increase the maintainability of the code, I would definitely store the questions and answers in a database. This way, you can easily change or add questions if you need to.

    2-Is it better to have a registration or not?

    The fact that they get a certificate, I would say yes.

    3-if I need a DB , what should I store in , and what is the best type I should choose ? Thank you.

    This really depends. I would go for an online mySQL database that you use in conjunction with some php scripts. Also, you may want to look into Firebase. Firebase can also help you with the registration of users.