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的是用來比較是怎麼回事幕後的價值觀?哈希集存儲表中的數據嗎?如果是,那麼我可以在另一個程序中使用這個值,並在控制檯中打印出來嗎?
我不知道發生了什麼,請解釋一下。
謝謝。
有沒有什麼辦法可以提取數據並將某個特定列的值存儲在數組中? – user1370786
當然有。對SQLite表/ ContentProvider進行查詢(我不確定你想要做什麼),你會得到一個遊標。然後,您可以使用Cursor中的結果集進行任何操作。如果你喜歡,你甚至可以把整個東西放在一個數組中。 –