安卓使用轻量级数据库SQL 简单用法

1.先创建一个接口,interface   里面封装好几个SQL的常用属性,其他类中只要调用该属性时候,只需要implements即可   代码如下
public interface SQLValues {
    String TABLE_NAME = "Person";//表名
    String PERSON_NAME = "name";//person表的name列
    String PERSON_NUMBER = "number"; //person表的number列
}

2.减一个数据库工具类  里面封装常用方法 例如增删改查,代码如下
public class DBTool implements SQLValues {
    //数据库的对象,用于操作
    private SQLiteDatabase sqLiteDatabase;
    private Context context;//连接上下文
    private MySQLHelper mySQLHelper;//创建helper对象
    private final String TAG = "DBTool";

    public DBTool(Context context) {
        this.context = context;
        mySQLHelper = new MySQLHelper(context, "ContactPersonRoom.db", null, 1);
        sqLiteDatabase = mySQLHelper.getWritableDatabase();
    }

    //判断数据库里是否有该号码   的方法
    private boolean isHasNumber(String number) {
        String sql = "select * from " + TABLE_NAME + " where " + PERSON_NUMBER + " = ? ";
        //返回符合条件的cursor对象
        Cursor cursor = sqLiteDatabase.rawQuery(sql, new String[]{number});//number为要查询的变量
        //如果数据数量 > 0 则返回true  证明存过该号码
        Boolean flag = cursor.getCount() > 0;
        cursor.close();//关闭游标
        return cursor.getCount() > 0;
    }

    //插入一条数据 的方法
    public void insert(String number, String name) {
        if (isHasNumber(number)) {//如果数据库存在该号码
            Log.d(TAG, "insert->不插入" + name);
            return;
        } else {
            ContentValues values = new ContentValues();
            values.put(PERSON_NAME, name);
            values.put(PERSON_NUMBER, number);
            //插入数据
            sqLiteDatabase.insert(TABLE_NAME, null, values);
        }
    }
}
3.建立一个helper类,继承Helper   建立数据库存放类

public class MySQLHelper extends SQLiteOpenHelper implements SQLValues {
    private Context context;
    private String creat = "create table " + TABLE_NAME +
            "(" + " id integer primary key autoincrement " +
            "," + PERSON_NAME + " text " +
            "," + PERSON_NUMBER + " text)";

    public MySQLHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
        this.context = context;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(creat);

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值