安卓如何获取表格列表

5

有人知道在Android代码中获取表名列表的SQL语句吗?我知道通过命令行使用.tables可以实现,但是在代码中无法使用。这与元数据等是否有关?

2个回答

10

我也遇到了同样的问题。这似乎有效:

public ArrayList<Object> listTables()
    {
        ArrayList<Object> tableList = new ArrayList<Object>();
        String SQL_GET_ALL_TABLES = "SELECT name FROM " + 
        "sqlite_master WHERE type='table' ORDER BY name"; 
        Cursor cursor = db.rawQuery(SQL_GET_ALL_TABLES, null);
        cursor.moveToFirst();
        if (!cursor.isAfterLast()) {
            do {
                tableList.add(cursor.getString(0));
            }
            while (cursor.moveToNext());
        }
        cursor.close();
        return tableList;
    }

如果我将这个表格列表打印到日志中,怎么做才能实现? - Shreyash Mahajan

3

Got it:

SELECT * FROM sqlite_master WHERE type='table'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接