本文标签: android小例子
有时候可能会用到浏览器的书签信息,可以使用下面代码获取
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开发)
Linux系统与内核学习群:194051772
WP建站技术学习交流群:194062106
Browser.BookmarkColumns.THUMBNAIL
源码中是被注解了的,@hide
所以用的时候报错,求解决办法
2012-02-10 15:12[reply]njlzlove[/reply]
2012-02-11 10:59你是在外部引用吗?我当时做的是修改系统的浏览器,另外,你的版本是??
byte[] data = cursor.getBlob(cursor.getColumnIndex(Browser.BookmarkColumns.FAVICON));
2012-05-08 14:42我只获取到一个图标。
Browser.BookmarkColumns.THUMBNAIL这个在android4.0里面没有。
怎么能获取到缩略图呢?
[reply]bird7310[/reply]
2012-05-08 16:11难道书签里面只有一个图标???THUMBNAIL,在Browser代码里面,你搜一下这个THUMBNAIL这个关键字,找一下,有吗??
[reply]aomandeshangxiao[/reply]
2012-05-09 21:22谢谢,我看了看browser创建数据库的代码了,然后找到要搜索的字段了。
如果还有其他问题再问你,不用谢!
[reply]bird7310[/reply]
2012-05-09 23:18还是谢谢您吧。。。。。。