Android中获取,增加,删除Browser书签 .
来源:互联网 发布:汉诺塔递归算法 java 编辑:程序博客网 时间:2024/06/01 09:53
首先在AndroidMainfest.xml中增加对bookmark的写权限:
<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
package com.mybm;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.Cursor;
import android.os.Bundle;
import android.os.Environment;
import android.provider.Browser;
import android.provider.Browser.BookmarkColumns;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView listView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
insertBookMark();
deleteBookMark();
this.makeFileDir();
listView = (ListView) findViewById(R.id.bookmarklist);
listView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_expandable_list_item_1, getData()));
}
private List<String> getData() {
List<String> data = new ArrayList<String>();
// data.add("哈哈哈哈");
ContentResolver contentResolver = getContentResolver();
Cursor cursor = contentResolver.query(Browser.BOOKMARKS_URI, null,
null, null, null);
while (cursor.moveToNext()) {
if (cursor.getString(
cursor.getColumnIndex(Browser.BookmarkColumns.BOOKMARK))
.equals("1")) {
data.add(cursor.getString(cursor
.getColumnIndex(BookmarkColumns.TITLE)));
}
}
return data;
}
private void insertBookMark() {
ContentValues inputValue = new ContentValues();
// Bookmark值为1
inputValue.put(Browser.BookmarkColumns.BOOKMARK, 1);
// 添加书签Title
inputValue.put(Browser.BookmarkColumns.TITLE, "witmob");
// 添加书签URL
inputValue.put(Browser.BookmarkColumns.URL,
"http://bigcat.easymorse.com/");
ContentResolver contentResolver = getContentResolver();
// 向浏览器添加该书签
contentResolver.insert(Browser.BOOKMARKS_URI, inputValue);
}
private void deleteBookMark() {
ContentResolver contentResolver = getContentResolver();
// 删除书签
int number = contentResolver.delete(Browser.BOOKMARKS_URI,
Browser.BookmarkColumns.TITLE + "=? and "
+ Browser.BookmarkColumns.URL + "=?", new String[] {
"witmob", "http://bigcat.easymorse.com/" });
}
public void makeFileDir(){
File bookMarkFile = new File(Environment.getExternalStorageDirectory().getPath());
try {
if(!bookMarkFile.exists()){
bookMarkFile.mkdir();
}
FileWriter fw =new FileWriter(bookMarkFile+File.separator+"my.txt",true);
ContentResolver contentResolver = getContentResolver();
Cursor cursor = contentResolver.query(Browser.BOOKMARKS_URI, null,
null, null, null);
while (cursor.moveToNext()) {
if (cursor.getString(
cursor.getColumnIndex(Browser.BookmarkColumns.BOOKMARK))
.equals("1")) {
fw.write(cursor.getString(cursor
.getColumnIndex(BookmarkColumns.TITLE))+"\n");
fw.write(cursor.getString(cursor
.getColumnIndex(BookmarkColumns.URL))+"\n");
}
}
fw.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
增加书签,方法很简单,给ContentValues赋值,然后调用ContentResolver 的insert方法。
private void insertBookMark() {
ContentValues inputValue = new ContentValues();
// Bookmark值为1
inputValue.put(Browser.BookmarkColumns.BOOKMARK, 1);
// 添加书签Title
inputValue.put(Browser.BookmarkColumns.TITLE, "witmob");
// 添加书签URL
inputValue.put(Browser.BookmarkColumns.URL,
"http://bigcat.easymorse.com/");ContentResolver contentResolver = getContentResolver();
// 向浏览器添加该书签
contentResolver.insert(Browser.BOOKMARKS_URI, inputValue);
}
删除书签方法如下:
private void deleteBookMark() {
ContentResolver contentResolver = getContentResolver();
// 删除书签
int number = contentResolver.delete(Browser.BOOKMARKS_URI,
Browser.BookmarkColumns.TITLE + "=? and "
+ Browser.BookmarkColumns.URL + "=?", new String[] {
"witmob", "http://bigcat.easymorse.com/" });}
ContentResolver 的delete方法需要三个参数,第一个是URI,第二个参数类似sql语句的where条件,这里是:
Browser.BookmarkColumns.TITLE + "=? and "+ Browser.BookmarkColumns.URL + "=?"
第三个参数为第二个where参数中的“?”赋值,顺序要前后对应。这里String数组第一个对应TITLE,第二个对应URL。
源码链接:http://bigcateasymorse.googlecode.com/svn/trunk/androidbookmark1.1/
- Android中获取,增加,删除Browser书签 .
- Android中增加和删除Browser书签
- 从数据库中获取浏览器书签信息(Android Browser开发)
- DataGrid中数据的增加/删除/获取
- android browser 的几个小feature (一) 链接保存书签
- Android中添加书签
- Android Browser学习七 书签历史模块: 书签UI的实现
- Android Browser学习七 书签历史模块: 书签UI的实现(2)
- Chrome导致Browser无法保存page/没有浏览记录/无法增加书签
- PL/SQL中增加Browser Filter
- android获取系统自带浏览器书签
- android中Browser地址栏隐藏
- Android定制--------设备在预装了两个浏览器Chrome与Browser的情况下,Browser内置的书签不显示
- Android Browser学习八 书签历史模块: 历史UI的实现
- word2003 插入书签 书签定位 查看书签 删除书签
- android中获取手机短信,删除短信功能
- android书签
- Android书签
- Charles(最强大的http调试工具)详细教程(上)
- HDU2033
- opencv中cvSetData用法
- Android 导入android源码有错,R.java文件不能自动生成解决方法
- 坐标与数字--【英雄会】
- Android中获取,增加,删除Browser书签 .
- 工作心得之SQL篇
- Charles(最强大的http调试工具)详细教程(下)
- android中的数据库操作
- JTA之spring 整理
- 关于 NSString 与 string 互相转换
- Linux设备驱动之——I2C总线
- java中LinkedList 集合类实现栈和队列
- 关于SEO中的description标签无用论