1、下载官方支持包:https://s3.amazonaws.com/sqlcipher/3.2.0/sqlcipher-for-android-community-v3.2.0.zip

Github地址:https://github.com/sqlcipher/android-database-sqlcipher

2、本博客使用Android Studio开发,Eclipse怎样使用Sqlcipher大家可以到网上搜索。

3、需要导入以下包及文件。如何导入Jar包可以参考我的博客http://www.cnblogs.com/begin1949/p/4966542.html。

4、我们重写一下SqliteOpenHelper类。这里注意一下引用的类来自于net.sqlcipher.database而不是谷歌官方的sqlite包。

import android.content.Context;

import net.sqlcipher.database.SQLiteDatabase;
import net.sqlcipher.database.SQLiteOpenHelper; public class MyDatabaseHelper extends SQLiteOpenHelper {
public static final String CREATE_TABLE = "create table Book(name text,pages integer)"; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory
factory, int version) {
super(context, name, factory, version);
} @Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(CREATE_TABLE);
} @Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}

5、接下来即可使用了。

import android.content.ContentValues;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView; import com.sqlcipher.R; import net.sqlcipher.Cursor;
import net.sqlcipher.database.SQLiteDatabase; public class Use1Activity extends FragmentActivity implements View.OnClickListener { private SQLiteDatabase db;
private MyDatabaseHelper dbHelper; private Button mBtnAdd;
private Button mBtnQuery;
private TextView mTvShow; private String result; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_use1); initView();
} private void initView() {
SQLiteDatabase.loadLibs(this);
dbHelper = new MyDatabaseHelper(this, "demo.db", null, 1);
db = dbHelper.getWritableDatabase("secret_key"); mBtnAdd = (Button) findViewById(R.id.add_data);
mBtnQuery = (Button) findViewById(R.id.query_data);
mTvShow = (TextView) findViewById(R.id.tv_show); mBtnAdd.setOnClickListener(this);
mBtnQuery.setOnClickListener(this);
} @Override
public void onClick(View v) {
if (v == mBtnAdd) {
ContentValues values = new ContentValues();
values.put("name", "密码");
values.put("pages", 566);
db.insert("Book", null, values);
} else if (v == mBtnQuery) {
Cursor cursor = db.query("Book", null, null, null, null, null, null);
if (cursor != null) {
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
int pages = cursor.getInt(cursor.getColumnIndex("pages"));
result += "book name is " + name + "\n";
result += "book pages is " + pages + "\n";
}
}
cursor.close(); mTvShow.setText(result);
result = "";
}
}
}

6、参考博文:https://discuss.zetetic.net/t/android-studio-integration/65

http://blog.csdn.net/sziicool/article/details/18728153

Android数据库--Sqlcipher的使用(一)的更多相关文章

  1. Android数据库--Sqlcipher的使用(二)

    1.使用Sqlcipher对数据库加密,并结合ORM框架LitePal进行使用. 2.对LitePal的使用我就不在讲解了,大家可以参考下面七篇博客: http://blog.csdn.net/guo ...

  2. Android 数据库框架 DBFlow 的使用

    原文首发于微信公众号:jzman-blog,欢迎关注交流! DBFlow 是一个基于注解处理器开发的使用方便的 ORM Android 数据库,该库简化了很多多余的代码,并且提供了好用的 API 来处 ...

  3. 深入解析Sqlite的完美替代者,android数据库新王者——Realm

    写在前面: 又到一年一度七夕虐狗节,看着大家忍受着各种朋友圈和QQ空间还有现实生活中的轮番轰炸,我实在不忍心再在这里给大家补刀,所以我觉得今天不虐狗,继续给大家分享有用的. 如果你比较关心androi ...

  4. [Android Pro] 完美Android Cursor使用例子(Android数据库操作)

    reference to : http://www.ablanxue.com/prone_10575_1.html 完美 Android Cursor使用例子(Android数据库操作),Androi ...

  5. Android 数据库框架OrmLite的使用(一)

    在这里记录下最基本的用法,官网上可了解相关的介绍. 1.下载OrmLite jar 在下载android的:ormlite-android-4.48.jar和ormlite-core-4.48.jar ...

  6. Android数据库升级

    随着Android应用版本的迭代,经常遇到数据库表结构发生改变,或者一些指定的表数据需要更新.这也就引出一个问题Android数据库的更新问题. Android数据库升级分类 Android数据库更新 ...

  7. 优雅的处理Android数据库升级的问题

    原始完成于:2015-04-27 19:28:22 提供一种思路,优雅的处理Android数据库升级的问题,直接上代码: 1 package com.example.databaseissuetest ...

  8. Android数据库之SQLite数据库

    Android数据库之SQLite数据库 导出查看数据库文件 在android中,为某个应用程序创建的数据库,只有它可以访问,其它应用程序是不能访问的,数据库位于Android设备/data/data ...

  9. Android 数据库读取数据显示 [5]

    2016-12-1 课程内容 昨天学了Android数据库升级.降级.创建 今天把数据库表里面的数据读取出来显示到手机屏幕上 下面代码是MainActivity.java 的代码 package co ...

随机推荐

  1. springMVC3学习(八)--全局的异常处理

    在springMVC的配置文件中: <bean id="exceptionResolver" class="org.springframework.web.serv ...

  2. Windows Socket 组件 HP-Socket v2.2.3

    高性能 Windows Socket 组件 HP-Socket v2.2.3 正式发布 HP-Socket 是一套通用的高性能 Windows Socket 组件包,包含服务端组件(IOCP 模型)和 ...

  3. MVC3+EF5.0 code first+Flexigrid+ajax请求+jquery dialog 增删改查

    MVC3+EF5.0 code first+Flexigrid+ajax请求+jquery dialog 增删改查 本文的目的:   1.MVC3项目简单配置EF code first生成并初始化数据 ...

  4. Google论文之三----MapReduce

    Google论文之三----MapReduce MapReduce:大型集群上的简单数据处理 摘要 MapReduce是一个设计模型,也是一个处理和产生海量数据的一个相关实现.用户指定一个用于处理一个 ...

  5. Arduino 各种模块篇 震动模块 vibrator module

    The vibrator I got works at the voltage ranging from 3.3V ~ 5.5V I want to make it vibrate variably. ...

  6. EZOJ 网同14(蛋蛋与北大信科-Splay的颜色分离,寻找结点所在子树)

    蛋蛋与北大信科 总时限 10s 内存限制 256MB 出题人 lydrainbowcat 提交情况 1/25 背景 琰琰(孩纸们读作:蛋蛋)是妙峰书苑的一名萌萌哒教师,她的夫君(孩纸们称之为:北大信科 ...

  7. Android消息推送之GCM方式(一)

    <声明> 转载请保留本来源地址: http://blog.csdn.net/wzg_1987/article/details/9140371 首先,你需要使用一个谷歌账号登录谷歌Api控制 ...

  8. 【实用技巧】去除BootStrap所有圆角效果

    满屏的圆角有没有审"美"疲劳啊?教你一键去除所有圆角效果: * { -webkit-border-radius: 0 !important; -moz-border-radius: ...

  9. maven pom.xml详细介绍,必须留一份

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  10. 配置 Ionic环境

    本博客只适合win7 系统 准备  必须要有 注意了!!!! //注意所以路径均不支持中文 1.安装JSK (jsva环境) 默认安装位置 如果是32位操作系统  需要安装32bit版的JDK C:\ ...