標籤:des android style blog http color os java io
剛剛接手一個備份系統瀏覽器書籤的模組,現在把代碼貼出來,另外有幾點疑問請路過的大神指教
1、根據官方api應該是有以下幾個欄位是可以擷取的
但是除了TITLE和URL能擷取其他的都會報java.lang.IllegalStateException: Couldn‘t read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.異常
2、是不是只能獲得系統內建瀏覽器書籤?如果我裝的是百度或其他瀏覽器建的書籤是不是就得不到了?
以下是My Code片段
// 按訪問時間排序String orderBy = Browser.BookmarkColumns.VISITS + " DESC";// flag=1表示書籤String whereClause = Browser.BookmarkColumns.BOOKMARK + " = 1 ";ContentResolver cr = context.getContentResolver();Cursor cursor = cr.query(Browser.BOOKMARKS_URI,Browser.HISTORY_PROJECTION, whereClause, null, orderBy);while (cursor != null && cursor.moveToNext()) {BookMark bookMark = new BookMark();// TODO 可能為空白的欄位//String id = cursor.getString(cursor//.getColumnIndex(Browser.BookmarkColumns._ID));//if (id != null)//bookMark.set_id(id);////String count = cursor.getString(cursor//.getColumnIndex(Browser.BookmarkColumns._COUNT));//if (count != null)//bookMark.set_count(count);String title = cursor.getString(cursor.getColumnIndex(Browser.BookmarkColumns.TITLE));if (title != null)bookMark.setTitle(title);String url = cursor.getString(cursor.getColumnIndex(Browser.BookmarkColumns.URL));if (url != null)bookMark.setUrl(url);byte[] b = cursor.getBlob(cursor.getColumnIndex(Browser.BookmarkColumns.FAVICON));if (b != null) {bookMark.setFavicon((BitmapFactory.decodeByteArray(b, 0,b.length)));} else {bookMark.setFavicon(null);}//bookMark.setCreated(cursor.getString(cursor//.getColumnIndex(Browser.BookmarkColumns.CREATED)));//bookMark.setDate(cursor.getString(cursor//.getColumnIndex(Browser.BookmarkColumns.DATE)));//bookMark.setVisits((cursor.getString(cursor//.getColumnIndex(Browser.BookmarkColumns.VISITS))));//bookMarks.add(bookMark);bookMarks.add(bookMark);}cursor.close();JSONObject jso = listTojsoJsonObject(bookMarks);return jso.toString();
android擷取系統內建瀏覽器書籤