HardBirch

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

时间:11-08-25 栏目:安卓源码解析与小应用 作者:张飞不张,文采横飞 评论:0 点击: 4,784 次

        有时候可能会用到浏览器的书签信息,可以使用下面代码获取

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 Browser开发):目前有

  1. 6楼
    njlzlove:

    Browser.BookmarkColumns.THUMBNAIL

    源码中是被注解了的,@hide

    所以用的时候报错,求解决办法

    2012-02-10 15:12 [回复]
  2. [reply]njlzlove[/reply]
    你是在外部引用吗?我当时做的是修改系统的浏览器,另外,你的版本是??

    2012-02-11 10:59 [回复]
  3. 4楼
    bird7310:

    byte[] data = cursor.getBlob(cursor.getColumnIndex(Browser.BookmarkColumns.FAVICON));
    我只获取到一个图标。
    Browser.BookmarkColumns.THUMBNAIL这个在android4.0里面没有。
    怎么能获取到缩略图呢?

    2012-05-08 14:42 [回复]
  4. [reply]bird7310[/reply]
    难道书签里面只有一个图标???THUMBNAIL,在Browser代码里面,你搜一下这个THUMBNAIL这个关键字,找一下,有吗??

    2012-05-08 16:11 [回复]
  5. 板凳
    bird7310:

    [reply]aomandeshangxiao[/reply]
    谢谢,我看了看browser创建数据库的代码了,然后找到要搜索的字段了。
    如果还有其他问题再问你,不用谢!

    2012-05-09 21:22 [回复]
  6. [reply]bird7310[/reply]
    还是谢谢您吧。。。。。。

    2012-05-09 23:18 [回复]

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐