0

我遇到了以下代码,我需要对此代码进行一些说明。

http://www.vogella.com/articles/AndroidSQLite/article.html#contentprovider_overview

private void checkColumns(String[] projection) {
        String[] available = { TodoTable.COLUMN_CATEGORY,
                TodoTable.COLUMN_SUMMARY, TodoTable.COLUMN_DESCRIPTION,
                TodoTable.COLUMN_ID };
        if (projection != null) {
            HashSet<String> requestedColumns = new HashSet<String>(
                    Arrays.asList(projection));
            HashSet<String> availableColumns = new HashSet<String>(
                    Arrays.asList(available));
            // Check if all columns which are requested are available
            if (!availableColumns.containsAll(requestedColumns)) {
                throw new IllegalArgumentException(
                        "Unknown columns in projection");
            }
        }
    }

我的问题是:因为 hashset 用于比较幕后发生的值?hashset 中是否存储了表的数据?如果是,那么我可以在另一个程序中使用这个值并在控制台中打印出来吗?

我不确定发生了什么,请解释一下。

谢谢。

4

1 回答 1

0

您粘贴的代码的目的只是检查用户没有在投影中提供表格中不存在的列。没有对指定的表进行查询,也没有提取数据。这只是一个有效性检查。

于 2012-05-29T07:07:56.293 回答