How do I send notifications and minor updates to all users of my app?

74 views Asked by At

A little background

I'm currently a novice programmer eager to learn how Android apps. I believe that I learn best by challenging myself, so I'm trying to make a simple student companion app. In the process of making it, I hope to acquire at least a few of the skills necessary to become a good Android developer.

Goals of my app

As I said, my app is going to be a simple student companion app, it would help students organize their academic life a little. My situation is as such:

  • My app is going to target a very small of group of people - about 150 at most.

  • It will help students keep track of which classes they have attended and which ones they missed.

  • It will display current schedules of the courses.

  • It will have a calender showing holidays, as well as upcoming exam dates.

My Problems

  • How should I store each student information? Should I store it offline in their own devices? I don't have any real need for data collection of all of my users.

  • How do I push tiny changes to, say holiday dates? Some of the religious holidays are tied to different calander systems and thus are aren't held in the same date every year

  • Similar to the above problem, exam dates are fixed by its respective teachers, and thus I need a way to mark exam dates on the calender as they are announced.

How should I approach these problems? I could create a custom server and have my app connect to it and check for updates, but as a beginner I feel this is a bit more than I could chew. Is there any existing services I can integrate my app to, to do all of the above (say Facebook)? What things should I invest my time learning to tackle these problems?

P.S. As my question is not directly about a coding problem, I understand that it might not be a good fit for Stack Overflow. I would happily edit my question to fit the standards of Stack Overflow or even move it to any other Stack Exchange sites on your suggestions.

2

There are 2 answers

0
Firewolf On

You can store the information either in a sever preferably in json so it is easy to edit and use even in the app and sync it.Use a recyclerview with a volley library for easy sync and offline storage

You can also use an sqlite database in the app. Every time the app is opened you can check with server and download it

There are plenty of tutorials so it should be easy even for begginers

1
tothzolidev On

Hy there,

lets take a look at the problems in order:

How should I store each student information? Should I store it offline in their own devices? I don't have any real need for data collection of all of my users.

If you don't need to collect data, then don't do it. But if you would need to store them, then you would have two options.

  1. Store localy on the device in a SQLite database or with shared preferences

  2. Send the user information to a web server where you'll keep it for later usage

How do I push tiny changes to, say holiday dates? Some of the religious holidays are tied to different calander systems and thus are aren't held in the same date every year

Similar to the above problem, exam dates are fixed by its respective teachers, and thus I need a way to mark exam dates on the calender as they are announced.

The answer to both of these problems is communication with a web server. You need an admin page where you can add events for each day. For example you set exam event for one day and holyday event to another, etc.

Then you need to build some kind of communication layer in the application and use that to get the information for the days, then show it to the users.

Recommended topics: SQLite database, shared preferences, http communication, JSON, web server, retrofit 2, CalendarView, Enum