从数据库中获取浏览器书签信息(Android Browser开发)

有时候可能会用到浏览器的书签信息,可以使用下面代码获取ContentResolver contentResolver = getContentResolver();

cursor = contentResolver.query(Browser.BOOKMARKS_URI, Browser.HISTORY_PROJECTION, whereClause, null, orderBy);

而String orderBy = Browser.BookmarkColumns.VISITS + " DESC";

String whereClause = Browser.BookmarkColumns.BOOKMARK + " = 1";

orderBy是指排序方式,whereClause是选择条件。这样你就可以获取android中自带浏览器的书签信息。

然后,我们可以定义三个ArrayList用来存储从数据库中获取的信息。

listTitle = new ArrayList(); listUrl = new ArrayList(); listBitmap = new ArrayList();

遍历cursor,把信息存到ArrayList中:

while(cursor!=null && cursor.moveToNext()){ listTitle.add(cursor.getString(cursor.getColumnIndex(Browser.BookmarkColumns.TITLE))); listUrl.add(cursor.getString(cursor.getColumnIndex(Browser.BookmarkColumns.URL))); byte[] b = cursor.getBlob(cursor.getColumnIndex(Browser.BookmarkColumns.THUMBNAIL)); if(b!=null){ listBitmap.add(BitmapFactory.decodeByteArray(b, 0, b.length)); }else{ listBitmap.add(((BitmapDrawable)(getResources().getDrawable(R.drawable.ic_launcher_browser))).getBitmap()); } }


你可能感兴趣的:(从数据库中获取浏览器书签信息(Android Browser开发))