SQLCipher的导入和基本使用

   SQLCipher是分为社区版和商业版,我这里现在只介绍社区版怎么使用:

   官网,里面可以看到应该导入什么依赖SQLCipher官网

      

import android.content.Context;

import net.sqlcipher.database.SQLiteDatabase;
import net.sqlcipher.database.SQLiteOpenHelper;

public class MyDatabaseOpenHelper extends SQLiteOpenHelper {

    public MyDatabaseOpenHelper(Context context) {
        super(context, "chenye.db", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table if not exists Person(_id Integer PRIMARY KEY AUTOINCREMENT,NAME varchar(32),AGE varchar(32))");
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
}

import android.content.ContentValues;
import android.content.Context;
import android.util.Log;

import net.sqlcipher.Cursor;
import net.sqlcipher.database.SQLiteDatabase;

import java.util.ArrayList;
import java.util.List;

public class DbManager {

    private static final String TAG = "cy===DbManager";
    private SQLiteDatabase mDb;

    private DbManager() {

    }

    private static final class Holder {
        private static final DbManager INSTANCE = new DbManager();
    }

    public static DbManager getInstance() {
        return Holder.INSTANCE;
    }

    public DbManager init(Context context) {
        SQLiteDatabase.loadLibs(context);
        MyDatabaseOpenHelper helper = new MyDatabaseOpenHelper(context);
        mDb = helper.getWritableDatabase("YEDASHEN");
        return this;
    }

    public boolean insert(List<Person> persons) {
        boolean flag = true;
        ContentValues values = new ContentValues();
        for (Person person : persons) {
            values.clear();
            values.put("name", person.getName());
            values.put("age", person.getAge());
            long person1 = mDb.insert("Person", null, values);
            flag = person1 > 0;
        }
        return flag;
    }

    public List<Person> query() {
        List<Person> persons = new ArrayList<>();
        Cursor cursor = mDb.rawQuery("select * from Person", null);
        while (cursor.moveToNext()) {
            Person person = new Person();
            try {
                person.setName(cursor.getString(cursor.getColumnIndex("NAME")));
                person.setAge(cursor.getString(cursor.getColumnIndex("AGE")));
                persons.add(person);
            } catch (Exception e) {
                Log.i(TAG, e.toString());
            }
        }
        cursor.close();
        return persons;
    }
}

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "cy===MainActivity";
    private DbManager mDbManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mDbManager = DbManager.getInstance().init(this);
        insertData();
        query();
    }

    private void insertData() {
        List<Person> persons = new ArrayList<>();
        persons.add(new Person("CY", "25"));
        persons.add(new Person("YL", "24"));
        persons.add(new Person("HY", "24"));

        if (mDbManager.insert(persons)) {
            Toast.makeText(this, "插入数据成功", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, "插入数据失败", Toast.LENGTH_SHORT).show();
        }
    }

    public void query() {
        List<Person> persons = mDbManager.query();
        Log.i(TAG, persons.toString());
    }
}


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值