OKAN
OKAN

Reputation: 421

Using a humongous database in an android APP

I am trying to use a database for my application which needs a list of all the words in Arabic language, unfortunately this database is very large in size, more than 200 MB, I've seen that the only solution for such a problem is using a web service or having my database online and download it on first use which is not practical in my case since this is a game and the user can play it while he's disconnected, plus the download size will be large and it will use alot of space on his phone. I couldn't find a way to make the size of my DB reasonable.

My question is if there is a way to shrink the size of the database knowing that all the data stored in it is of the type text. I've noticed that the keyboard in my phone has an auto-complete feature, where is it getting the list of valid words from? Can i use it for my application?

Upvotes: 0

Views: 91

Answers (2)

Rohan Singh
Rohan Singh

Reputation: 21455

You'll want to store your words in a prefix tree (or trie). It is a space-efficient structure for this kind of data.

For more info, see: https://gamedev.stackexchange.com/questions/4142/best-way-to-store-a-word-list-in-java-android

Upvotes: 1

waqaslam
waqaslam

Reputation: 68177

your database might have so much extra information included, for example grammar, inflections, comments etc. If this is the case, then re-create your database with only the limited data/columns you need to be used inside phone.

Upvotes: 0

Related Questions