Android浏览器— —书签\历史
2017-10-06 19:51
239 查看
本博客数据库设计参考于:http://blog.csdn.net/ddddpow/article/details/10317091
书签功能
首先,我们先定义好书签接口
public interface BookmarkController { //添加书签 public boolean addBookmark(SQLiteDatabase db, String title, String url); //删除书签 public boolean deleteBookmark(SQLiteDatabase db, String id); //修改书签 public boolean modifyBookmark(SQLiteDatabase db, String title, String url, String id); //查询所有书签 public Cursor getAllBookmark(SQLiteDatabase db); //判断是否书签是否车重复,根据URL public boolean checkBookmark(SQLiteDatabase db, String url); //开始事务 void transactionAround(boolean readOnly, Callback callback); }
public interface Callback { public void doSomething(SQLiteDatabase sqLiteDatabase); }
接下来我们开始实现接口,即调用接口,会调用下面对应的方法
public class BookmarkModel extends SQLiteOpenHelper implements BookmarkController{ private BookmarkController deHelper; private static final String TAG = "BookmarkModel"; public static final String CREATE_BOOKMARK = "create table bookmark(" + "id integer primary key autoincrement," + "title text," + "url text)"; public BookmarkModel(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { //创建数据库时,创建表 db.execSQL(CREATE_BOOKMARK); } @Override public void onUpgrade(SQLiteDatabase db, int i, int i1) { } @Override public boolean addBookmark(SQLiteDatabase db, String title, String url) { ContentValues bookmark = new ContentValues(); bookmark.put("title", title); bookmark.put("url", url); long result = db.insert("bookmark", null, bookmark); if(result!=-1){ return true; }else{ return false; } } @Override public boolean deleteBookmark(SQLiteDatabase db, String id) { int result = db.delete("bookmark", "id = ?", new String[]{ id }); if(result!=0){ return true; }else{ return false; } } @Override public boolean modifyBookmark(SQLiteDatabase db, String title, String url, String id) { ContentValues bookmark = new ContentValues(); bookmark.put("title", title); bookmark.put("url", url); int number = db.update("bookmark", bookmark, "id = ?", new String[]{id}); if(number!=0){ return true; }else{ return false; } } @Override public Cursor getAllBookmark(SQLiteDatabase db) { String[] returnColmuns = new String[]{ "id as _id", "title", "url" }; Cursor bookmark = db.query("bookmark", returnColmuns, null, null, null, null, "id"); while(bookmark.moveToNext()){ String id = String.valueOf(bookmark.getInt(bookmark.getColumnIndex("_id"))); String title = bookmark.getString(bookmark.getColumnIndex("title")); String url = bookmark.getString(bookmark.getColumnIndex("url")); Log.v(TAG, "id:"+id+",title:"+title+",url:"+url); } return bookmark; } @Override public boolean checkBookmark(SQLiteDatabase db, String url) { Cursor result = db.query("bookmark",null, "url=?", new String[]{url},null, null,null); if(result.getCount()>0){ return true; }else{ return false; } } @Override public void transactionAround(boolean readOnly, Callback callback) { SQLiteDatabase db = null; db = getWritableDatabase(); db.beginTransaction(); callback.doSomething(db); db.setTransactionSuccessful(); db.endTransaction(); } }
这里写代码片
相关文章推荐
- android 对浏览器书签、浏览历史记录的数据添加
- android获取系统自带浏览器书签
- Android中添加书签(浏览器的收藏)
- android 去除浏览器默认书签,更改浏览器默认主页
- Android手机用户隐私获取,包括读取通讯录、读取通话记录、读取浏览器历史记录、读取手机短信
- android 修改默认浏览器的默认主页和去除书签
- Android网络:开发浏览器(二)——功能完善之书签功能
- android:浏览器添加书签
- Android网络:开发浏览器(二)——功能完善之书签功能
- Android 浏览网页:WebView 嵌入浏览器(浏览历史返回、自定义加载失败界面、支持缩放、获取标题栏)
- android浏览器书签插入去重算法
- Android修改浏览器书签和主页
- android获取浏览器历史记录
- Android定制--------设备在预装了两个浏览器Chrome与Browser的情况下,Browser内置的书签不显示
- Android网络:开发浏览器(三)——功能完善之历史功能
- Android手机用户隐私获取,包括读取通讯录、读取通话记录、读取浏览器历史记录、读取手机短信
- android代码如何获取非自带浏览器的历史记录,最好附带关键代码
- Android中添加书签(浏览器的收藏)
- 从数据库中获取浏览器书签信息(Android Browser开发)