Android数据库--Sqlcipher的使用(一)
2015-11-22 15:05
381 查看
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包。
5、接下来即可使用了。
6、参考博文:https://discuss.zetetic.net/t/android-studio-integration/65
http://blog.csdn.net/sziicool/article/details/18728153
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事件处理机制
- android中实现view可以滑动的六种方法续篇(二)
- 实现toolbar上的搜索栏
- 第四章 Android应用结构
- Android之ListView长按列表项弹出菜单 给菜单项添加事件 获取上下文
- Android快速开发框架_让前端更专注于前端
- android110 jni01
- Broadcast的基本应用
- Android简单的web提交表单登录
- Android实现自定义的相机
- Android实现自定义的相机
- Android开发手记(8) ProgressDialog的使用
- android 适配器优化,viewholder的使用
- Android开发手记(7) 按钮类控件的使用
- Android Studio 简介
- Android学习手记(6) TabActivity和TabHost
- Android手绘手写图DrawableView
- Android学习笔记(二)---Activity
- Android学习手记(4) BroadcastReceiver监听电池信息
- Android四大组件Service之两种的多线程启动方式