Android SQLiteOpenHelper – 每个表的不同类?

我正在阅读这篇文章( http://www.vogella.com/tutorials/AndroidSQLite/article.html),以了解Android应用程序中的sqlite数据库.

文章中他有一个提示

It is good practice to create a separate class per table. This class defines static onCreate() and onUpgrade() methods. These methods are called in the corresponding methods of sqliteOpenHelper. This way your implementation of sqliteOpenHelper stays readable,even if you have several tables.

如果我正确理解了这个提示,我应该为我的数据库中的每个表都有一个类?

这真的是最好的做法吗?

如果是这样,那么使用多个表的复杂查询呢?如果创建在不同的类中,我该如何管理?

如何正确保存数据库版本?对于每个表的更改,我会更改数据库版本号吗?

谢谢

解决方法

sqliteOpenHelper管理数据库文件,而不是表.您可以使用给定的数据库生命周期回调(onCreate(),onUpgrade())自行管理表.

快速阅读一个可以解释作者主张为每个表创建一个单独的数据库助手(我最初做过),但事实并非如此.这本来是不好的建议.

重申作者的意图:

>一个数据库助手类.>帮助程序涉及单独的特定于表的帮助程序类,它们不是sqliteOpenHelpers,而只是为顶级数据库帮助程序执行部分工作.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...