I'm doing my thesis project and I'm new to MIT app, still, I'm trying to create the app using this(hope it works).
So the app is about plants where the user can add their indoor plants on the app and the app will automatically set a notification and alarm when its time for the watering, repotting, cleaning and fertilizing of the plant every now and then, I hope I can pull repeating alarm on this. After adding the plants the user will see the progress of their plants every week via picture. The plants on the app are limited, I have 5 categories of indoor plant with 5 of each type of plant, with a total of 25 plants that I will be inputting on the app. The user can also watch and read tutorials of each of the plants.
Though, I already starting doing the app in MIT App Inventor, I still think if I can finish the app using this.
Anyway, I'm using Firebase for the DB, I'm thinking of switching to TinyDB or CloudDB? What do you think?
There is a paid version and a free version, but according to the user's needs, you should buy the extension from Taifun. However, if you need to share the AIA source code in your project with someone else with the paid extension, I think we need to switch another method. If you are just providing the APK file, it is completely fine.
If you do not need to specify which day (Monday? Tuesday?) you need to call the alarm, free version is good. If you need to, use the paid version.
Q1: I find it a bit strange that your error messages say something like "hour should be < 24" while you just test for the text field being empty. A: Yes, you are correct. The better solution is to check for empty string and additionally for hour < 24 and minute < 60.
Q2: How can I set an alarm for some date and some hour and minute? A: Unfortunately the AlarmClock API does not offer these features, see also here. But you can set the weekday for repeating alarms in the paid version of the extension. You will need min. API Level 19 (Android 4.4) for that.
CloudDB is similar to FirebaseDB. From your Project description, you probably can also use a Google spreadsheet as a database. All of these require use of the Web. The TinyDB stores data on the device.
Alarm extension: You may not need this tool. If you open your app every day, your app can check for key dates when it is reactivated and provide your notifications at that time. Much simpler. The alarm extension might be useful if you use your app in conjunction with a mini computer like an Arduino to automate sprinklers etc. at specific days and times.
Your suggestions are very much appreciated, how I wish I can finish the project without spending a penny, but I'll consider that extension. Thank you again!
It depends on your choice. CloudDB might be a good alternative, but your data might be wiped out completely without any signs of warning to make space for other users.
FirebaseStorage? You can create a project in Firebase, then upload your files.
Data might be wiped out from TinyWebDB if you use it. MIT tell us the TinyWebDB is only for experimentation.
The data will not be randomly wiped out from the default CloudDB server or if CloudDB is used with your own Redis server. MIT has more than sufficient capacity to maintain the files on their server. MIT has told us this.
However your statement is not true with respect to CloudDB. To the best of my knowledge MIT has never deleted user data to make space for other users from its CloudDB server.
FirebaseDB has its issues; the software MIT uses to access FirebaseDB is deprecated code abandoned by Google. Firebase could be made useless for users at any time by Google as happened when Google deprecated Fusion Tables.