Android开发之SQLite

来源:互联网 发布:问道刷钱软件 编辑:程序博客网 时间:2024/06/06 00:06

SQLite是一个轻量级的数据库,占用内存很少,因此Android移动设备很广泛的使用了SQLite数据库。
想要创建数据库,必须继承SQLiteOpenHelper这个抽象类,然后使用SQLiteDatabase的实例来访问数据库。而获得的返回值则需要用Cursor来操作。以下是一个创建数据库的例子:

package com.example.orangc.db.SQLite;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;/** * Created by I'MTrying on 2017/5/24. */public class MySQLiteOpenHelper extends SQLiteOpenHelper {    public MySQLiteOpenHelper(Context context){        super(context,"person.db",null,5);    }    @Override    public void onCreate(SQLiteDatabase sqLiteDatabase) {        sqLiteDatabase.execSQL("create table if not exists user (" +                "id integer primary key autoincrement,"+                "name varchar(20),"+                "password varchar(20))");    }    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {        db.execSQL("alter table user add account varchar(20)");    }}

对数据库进行操作:

/*public void insert(Farmland account) {        SQLiteDatabase db = helper.getWritableDatabase(); // 获取数据库对象        // 用来装载要插入的数据的 <列名, 列的值>        ContentValues values = new ContentValues();        values.put("name", user.getName());        values.put("password", user.getPwd());        long id = db.insert("user", null, values); //向user表插入数据values,        user.setId(id);  // 得到id        db.close();         // 关闭数据库    }    //根据id 删除数据    public int delete(long id) {        SQLiteDatabase db = helper.getWritableDatabase();        // 按条件删除指定表中的数据, 返回受影响的行数        int count = db.delete("user", "id=?", new String[] { id + "" });        db.close();        return count;    }    //更新数据    public int update(User user) {        SQLiteDatabase db = helper.getWritableDatabase();        ContentValues values = new ContentValues(); // 要修改的数据        values.put("name", user.getName());        values.put("password", user.getPwd());        int count = db.update("user", values, "id=?",                new String[] { user.getId() + "" }); // 更新并得到行数        db.close();        return count;    }*/    //查询所有数据倒序排列    public List<User> queryAll() {        SQLiteDatabase db = helper.getReadableDatabase();        Cursor cursor = db.query("user", null, null, null, null, null,null);        List<User> list = new ArrayList<>();        while (cursor.moveToNext()) {            int id = cursor.getInt(cursor.getColumnIndex("id"));            String name= cursor.getString(1);            String password= cursor.getString(2);            list.add(new User(id,name,password));        }        cursor.close();        db.close();        return list;    }

以上就实现了建立数据库,对数据库进行增删改查的操作。