I've just started using SQLite on Android.
The same kind of factors apply in your decisions on this platform as any other.
Scripting and programmatically populating:
- Allows over the wire updates, makes auto updaters easier.
- Scripting your changes makes them easily reproducable
- Takes more initial effort (if you can't generate the creation script)
- Could lead to versioning issues (not knowing which scripted changes have been applied) and failed scripted updates.
Prepopulating the database and deploying
- Similar level of time required to create and populate but easier through a GUI interface.
- Fixed database versions (though the oness is on you to keep snapshot versions).
- Larger db file sizes to be pulled down over the wire for updates, rather than small scripts.
- Deployment is copy / paste vs script execution.
It's all preference really, after all, there's nothing to say you can't start with a prepopulated database and have it update over the wire via scripts.