New app - Local database - SQlite or TinyDB?

Hi there. I’m making this new app for myself(I might be uploading to Play Store if it becomes any good).

Background for making this app:
I’m a person who needs medication every day for the rest of my life. My wife has been angry at me for many years now since I keep forgetting my meds, and I don’t have a good way of storing my bloodtest results. So now I want to make myself an app with all features as - Meds reminder - Bloodtest registration - History of tests - Compare tests by date and so on.

My question:
I want a local database on the phone (might be a database I can later on be able to backup if I change phone and want the data transfered).

I’ve used TinyDB before, but only for a few things, and I find it easy to use(I think)
I read on this Community that SQLlite is a better choise on many posts, but I’ve never used SQLlite before.

What would be the best choise for me?

I’ve (actually) painted in paint an example of how it’s kinda gonne look like, and you can see there are a few data I need to store. But I’m unsure if TinyDB is good enough and can it be backed up?

I appreciate all the tips I can get.

Is this possible, or am I missing something?

–/ Choofa

TinyDB Is Best For That

1 Like

Use of Tiny DB, and app data sync to online server every day at any time (manually) unless you use background extension. This will help you record your data offline with help of Tiny DB and either sync that data to online service once connected to internet or you can manually upload data to online server. This helps you to get your data in case you change your device as well. Hope this helps…

1 Like

1-I prefer sqlite for using sql commands, which, in my view, simplifies.
2-And there is a lot of material about sql conmands (it is used by all relational data bases …) So the research material is huge!


You’r one of the “reasons” I question my desicion on what database type I want to use, as I’ve read many of your comments on some posts here. I’ve seen some other also, that’s why I want to figure out what’s best for my purpose with my app.

I think I know how easy I can make it with the help of TinyDB, and if I try out the sql I might be stuck many times as I need to learn all the basics since I’m not familiar with it. And I know that many of us wants people to try before asking, so if I’m stuck I need to try first, or else I will only get answers like “Have you googled it?” - “Search community first” - “Do some research before you ask, many answers out there if you just look” and so on. Don’t want to critisize anyone, since I know the feeling when someone just ask and don’t try. But I want this app “finished” by next Tuesday, and by testing before asking does it kinda hard to manage since it’s new to me.

I think I might go with TinyDB, and have a look at sql possibilities later on.
Now I atleast know it’s possible with TinyDB as I got these answers.

But ty for your answer @Rogerio_Rios and I hope you might be able to help me when I find time to try out this sql database :slight_smile:

The value recommended by the doctor, is inserted in the system at what time?

That’s done manually by me, on every document (testresult paper) it sais what value is recommended. But I will only have to type the recommended value once, since I will store that value and retrieve it later on when I choose that type of bloodtest. Well, atleast that’s the thought :stuck_out_tongue:

The types of exams are fixed or variable (usually variable, so you have to make the exam insertion screen).
Table Exam
id_exam primary key varchar
name_exam (80)
recommended_value - decimal float (8.2)

Table Result
result_id - auto inc primary key
result_date - date exam id - foreign key
value_obtained - decimal float (8.2) *recommended_value - decimal float (8.2) observation - varchar

  • waiting for analysis

So I have to change the structure.

The value recommend will be a field in the exams table.

And it will be removed from the exam results table.

The question : this value I recommend, varies in the same exam? And the history, should you keep that recommended value? Today an exam has a recommended value of 67.90 and you take N exams. Does this recommended value vary? And should the records keep this recommended value, due to this variation?

Well, you could say it’s a referance value, like, if your value is 74 the recommended value of that might be 65-90. Then your inside the referance area and the test would be positive since it’s a good value compared to the recommended referance value.

These types of values ​​are standard values ​​in results issued by laboratories (the result is where these desirable values ​​are) type :
desirable 40-70
satisfactory 71-79
bad 80-82

1- On the results entry screen, do it individually. Only 1 listpicker (exam names), 1 exam value textbox, 1 exam date textbox and 1 record button.

2-In the date search screen, you can include another textbox to be able to search by start and end date.

3-Create another consultation screen, searching for the type of exam. And you can also create a query where the results were: desirable undesirable

Sqlite is not Mysql.
Are 2 diferents Database.
One Database is local on the smartphone
The other is not local.
“off line” and “on line”

SQL is not a database. It is a language.
MS SQL Server is a database.