我的应用程序正在与数据库(只读,存储在 Assets 文件中)通信,用户可以显示该数据库中的内容列表。例如,可以在 ListView 中显示此数据库中的数千个元素,用户可以单击任何元素并获取更多信息。
我想添加一个新功能,允许用户创建“收藏夹”列表。因此,每次用户单击数据库中的元素时,他都可以单击“添加到收藏夹”按钮,然后从主菜单中将有一个“收藏夹”按钮打开一个仅包含用户决定的元素的 ListView 首先添加。
我已经有一个扩展 SQLiteOpenHelper 的 DatabaseHelper 类,以及一个指定与我的第一个表的交互的 DatabaseAdapter 类。
据我所知,我可以保留一个数据库(然后重新使用我的 DatabaseHelper 类)并创建一个新的 DatabaseAdapter2 类来定义新表的方法(添加新元素、删除元素等)。 ) 以及我的表的字段。这样对吗?我不太确定,因为我的 DatabaseHelper 被定义为“只读”以保护我的主表免受任何修改,但第二个表必须处于“写入+读取”状态,所以也许有第二个 databaseHelper 会更好? 这可能是一个微不足道的问题,但我找不到太多关于从现有表/数据库创建新表/数据库的信息。
最佳答案
按照您描述应用程序的方式,我会考虑将其全部作为一个数据库,即使这需要您打开 mainTable 进行写入。如果您从收藏夹数据库中读取数据,然后从您的 mainTable 数据库中提取后续数据,这将比您从一个数据库的两个表中提取复杂查询要慢得多。
关于android - 从现有数据库创建一个新数据库(或者只是创建新表?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15915896/