Android —— SQLite数据库简易使用

最近在学习Android移动应用开发,按照书上的案例进行学习,并将一些数据库的操作流程进行整理归纳,若有错误,请大牛指正。由于Android的数据库可视化操作需要下载插件而且收费,所以所有对数据库的操作只能通过代码进行。

包的创建如下图所示:

Android —— SQLite数据库简易使用_第1张图片


数据库的最开始操作,便是创建数据表,这样才能存入关联数据。由于要使用自定义的一些功能,于是我继承基类SQLiteOpenHelper,具体代码如下:(MyHelper.java)

public class MyHelper extends SQLiteOpenHelper {
    public MyHelper (Context context){
        super(context, "littlefarmer.db", null, 3);
    }
    
    public void onCreate(SQLiteDatabase db){    //创建表
        System.out.println("onCreate");
        db.execSQL("create table products (id INTEGER PRIMARY KEY, " +    //序号
                                              "name VARCHAR(20), " +           //农作物名称
                                              "status VARCHAR(20), " +        //农作物状态
                                              "distribution VARCHAR(2))");   //种植区域
    }

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){    //更新表
        System.out.println("onUpgrade");
    }

    public  void onDelete(SQLiteDatabase db){    //删除表
        System.out.println("onDelete");
        db.execSQL("drop table products");
    }
}
(1)创建数据库

构造方法MyHelper():使用super()构造父类,父类的构造方法为SQLiteOpenHelper(Context context, String name, CursorFactory factory, int version),总共4个参数。第1参数由调用构造方法的页面给入;第2参数为创建的数据库名称;第3参数通常为null;第4参数为版本号,最小为1。

(2)创建数据表/删除数据表

创建表格时,调用SQLiteDatabase类的execSQL()方法执行SQL语句创建数据表。删除同创建。


因为需要对数据进行交互和暂存,所以创建了bean包用于数据的交互。具体代码如下所示:(products.java)

public class products {
    private long id;
    private String name;
    private String status;
    private String distribution;

    public products(long id, String name, String status, String distribution) {
        super();
        this.id = id;
        this.name = name;
        this.status = status;
        this.distribution = distribution;
    }

    public  products(String name, String status, String distribution){
        super();;
        this.name = name;
        this.status = status;
        this.distribution = distribution;
    }

    public products() {
        super();
    }

    public String toString(){
        return "[序号:" + id + ",农作物名称:" + name + ",农作物状态:" + status + ",种植区域:" + distribution + "]";
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getDistribution() {
        return distribution;
    }

    public void setDistribution(String distribution) {
        this.distribution = distribution;
    }
}



准备工作做完之后,便可以对具体的数据操作(增删改查)进行编写了:(productsdao.java)

(1)获取数据库

 private MyHelper helper;

    public productsDao(Context context){
        //创建Dao时,创建Helper
        helper = new MyHelper(context);
    }


(2)编写具体数据操作(以insert为例)

 public void insert(products products){
        //获取数据库对象
        SQLiteDatabase db = helper.getWritableDatabase();

        //用来装载要插入的数据的Map<列名,列值>
        ContentValues values = new ContentValues();
        values.put("name",products.getName());
        values.put("status",products.getStatus());
        values.put("distribution",products.getDistribution());

        //向products表插入数据valuse
        long id = db.insert("products", null, values);
        products.setId(id);
        db.close();
    }
①获取数据库对象——通过之前获取的数据库helper,使用getWritableDatabase(),创建一个可读写的实例
②创建ContentValues类的对象存储需要插入的数据

③使用SQLiteDatabase类的insert()方法,添加一条数据记录到数据表,并返回该条数据记录所处的位置ID



你可能感兴趣的:(Android移动应用开发,android,数据库,sqlite,移动应用开发)