在Android中,使用数据库除了可以使用Android内嵌的SQLite,还可以使用db4o
db4o是嵌入式的面向对象的数据库,是基于对象的数据库,操作的数据本身就是对象。
特点:
对象以其本身的方式来存储,没有错误匹配问题;
自动管理数据模式;
存储时不改变数据类特征;
自动绑定数据;
查询时直接获取到所查询的对象的实例
下边是一个db4o数据库操作实例类,使用时需要先下载db4o支持jar包,解压缩得到db4o-8.0.249.16098-core-java5.jar文件,加入工程;

Db4oEmbedded.openFile(EmbeddedConfiguration config, String databaseFileName);// 获取数据库api
public class DBHelper {    // db4o创建与打开与sqlite类似,在数据库不存在时先创建一个db4o数据库,然后再打开数据库,如果数据库已存在,直接打开数据库;    ObjectContainer db = Db4oEmbedded.openFile(Db4oEmbedded.newConfiguration(), "/sdcard/db4o.data");    /*     * 添加student对象,调用ObjectContainer.store()方法保存,需要调用commit方法才会真正保存到数据库中;     */    public void addStudent(Student student) {        db.store(student);        db.commit();    }    /*     * 查询java对象也需要指定一个同类型的java对象,如果想枚举保存在数据库中同一个类所有的对象,可以使对象中的变量值都保持默认值;     */    public List<Student> getStudents() {        // queryByExample方法的参数是一个保持默认变量值的student对象        ObjectSet<Student> result = db.queryByExample(new Student());        List<Student> list = new ArrayList<Student>();        while (result.hasNext()) {            Student stu = result.next();            list.add(stu);        }        return list;    }    /*     * 如果想查询某一个Student对象,可以指定对象中的任何一个或多个变量值     */    public Student getStudent() {        ObjectSet<Student> result = db.queryByExample(new Student("new_name", null));        // 查询name为"name";id为"id"的对象,        while (result.hasNext()) {            return result.next();        }        return null;    }    /*     * 更新类似于插入数据,需要调用ObjectContainer.store方法,但首先需要获得更新的对象     */    public void update() {        ObjectSet<Student> result = db.queryByExample(new Student("name0", null));        if (result.hasNext()) {            Student stu = result.next();            stu.setName("new_name");            db.store(stu);            db.commit();        }    }    /*     * 删除对象也需要首先获取要删除的对象     */    public void delete() {        ObjectSet<Student> result = db.queryByExample(new Student("name1", null));        if (result.hasNext()) {            db.delete(result.next());            db.commit();        }    }}

Student.java 一个javabean对象,包含两个字段name和id,和相关的get/set方法;

public class Student {    private String name;    private String id;}

通过上面的五个方法,可以很明显的看出,所有的操作都是基于对对象的操作,CRUD...
而且操作比较简单,不需要sql语句,使用方便;

更多相关文章

  1. 阿里Android开发规范:文件与数据库
  2. Android studio中正确引入so文件的方法
  3. Android代码混淆及项目发布方法记录
  4. android不将apk包编译到系统里的方法
  5. Android、iOS添加子视图方法比较
  6. 对Android 平台下SElinux的理解及遇到过的相关问题解决方法总结
  7. Android同步方法中异步操作获取返回值。

随机推荐

  1. TCP为什么是三次握手四次hui'shou
  2. c++ this
  3. 最简单的JVM内存结构图
  4. python 基础学习系列(一)
  5. 2021-03-11:go中,协程内部再启用协程,它们是
  6. 学习Clickhouse_目录
  7. kubernetes存储之ceph-csi
  8. 记一次Linux内核崩溃:kdump,crash,vmcore
  9. 学习感悟一
  10. Percona XtraDB Cluster之流量控制