Android应用保存数据最常用的办法就是保存到数据库中,然后通过ContentProvider来访问。
在编写该功能的时候需要创建各个数据库表、每个表中的列,数据库创建好后还要根据每个表来创建一个对应的ContentProvider Uri访问函数。如果数据库表比较多的话,这个过程是一个又一个枯燥无味的复制-粘贴-修改(表名、列名、Uri type 等)过程。
当你做个几个项目后发现,这些数据库和ContentProvider功能,除了数据库表名称、字段名称以及ContentProvider 权限(authority)名称 不一样以外,其他代码都是一样的。
这时,聪明的你肯定在想:“要是有个模板来生成这一堆代码多好啊,只需要指定这些名称即可!”。
今天就来介绍这种生成工具:
mdsd-android-content-provider
这个比较好用,和Eclipse深度集成,利用了Eclipse 的建模工具来设计模型,然后可以生成Sqlite数据库代码和对应的ContentProvider代码。
缺点:好像无法支持模型关系(比如 一对一、一对多、多对多等)。
ContentProviderCodeGenerator
这个功能和上面一个类似,只不过是通过JSON代码来定义数据模型类型的。
android-contentprovider-generator
这个和ContentProviderCodeGenerator 几乎一样。
SQLiteProvider scaffoldroid calico
这几个感兴趣的可以自行研究下。
如果您的项目只需要用数据库而无需使用ContentProvider来访问数据的话,则可以考虑使用http://greendao-orm.com/ 来生成相关代码。这个支持简单的一对多关系,目前还不支持多对多关系。