I'm writing an Android application that reads and presents data from legacy devices. The data consists of over 100 different 16-bit enumerations, each with thousands of possible values that represent things like device information, status, errors, etc...
Historically, the user would look up returned values in a large binder of tables. Let's say the device returns an error enum value of 0xFE04. The user would look through the error table to find something like this...
+---------+-------------+----------+
| Error | Description | Solution |
+---------+-------------+----------+
| 0xFE04 | blah blah | blah |
+---------+-------------+----------+
Each enumeration has a table like this with hundreds or thousands of rows. These tables never change based upon user input, but will probably change with updates that provide wider support.
How can I store these tables in code so that I can return the appropriate information to the user efficiently & effectively? Language-independent solutions are preferred, as this app may be ported to iOS and Windows in the future.