从数据库中获取浏览器书签信息(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<String>();
        listUrl = new ArrayList<String>();
        listBitmap = new ArrayList<Bitmap>();

        遍历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,android,Cursor,browser,书签)