You could use an auto updater that fetch content from a web content server?
This should prevent the app from needing to update every time new content is added?
The app is no doubt being downloaded to install on the user operation system, so there is no doubt an internet connection is there.
As for something like a dat file, you could use memblock and read the byte, int or string using your own custom build in byte length code?
Like what content goes into which byte?
Max size each is 100 megabyte though...
Basically readfile and load it into memblock byte per byte, then process it.
You could also custom zip it to be decypted to the user system storage.
Might get copy pasted over elsewhere if it is not itself encrypted.