我有一个与greenDAO配合使用的Android应用程序,并且我试图获取所有数据库(类似于MySQL中的show databases
),以便在用户选择RecyclerView
时显示然后,一个项目获取所选数据库中的所有实体,并在另一个片段中显示它们,然后当用户选择一个实体,然后获取所有数据并将其显示在另一个片段中。
有没有办法通过greenDAO获取该信息?获得它的另一种方法是?(sqlite可能?)或唯一的方法是显示已存在的内容(就数据库和实体而言)并根据数据库和实体数量的变化方式和时间进行相应更改?
答案 0 :(得分:0)
选择了一个更好的版本的选项3(在那里显示什么是alerdy并根据数据库和实体数量的变化如何以及何时更改),我创建了一个初始化所有数据库和实体的类(DaoMaster.DevOpenHelper,SQLiteDatabase)和entityNameDao),我得到数据库名称并创建每个实体的列表并将其传递给活动,然后从那里获取de Dao实体的数据列表。不是我想做的方式,但至少它更新并不是一团糟。
编辑:好吧所以过了一会儿我发现你可以用Sqlite获取所有数据,除了所有的数据库。对于表或实体,您可以查询SELECT name FROM sqlite_master WHERE type='table'
,现在可以查询每个表的所有表名,获取数据,首先获取Cursor.getColumnNames();
的属性,然后使用{ {1}}这是一个小例子
getColumnIndex();