android studio下使用SqlCipher

來源:互聯網
上載者:User

android studio下使用SqlCipher

android studio和eclipse 稍微有點不同。
Android studio 版本1.3
SqlCipher 版本3.3.1
1.將sqlcipher.jar複製到工程檔案夾libs中;
2.在工程main下,建立兩個檔案夾jniLibs和assets,將amreabi檔案夾整個複製到jniLibs中,將icudt46l.zip複製到assets中;
結構圖如下:

3.載入該類

    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ButterKnife.bind(this);        SQLiteDatabase.loadLibs(this);  //在使用該類之前載入,而且只載入一次    }

注意匯入的包為:import net.sqlcipher.database.SQLiteDatabase;

4.建立資料庫的時候注意的細節
此方法無法開啟資料庫

      database = SQLiteDatabase.openOrCreateDatabase(data, 123456, null);        if (database != null) {            database.execSQL(CREATE TABLE IF NOT EXISTS person_student(name VARCHAR(20) NOT NULL , age INT(3)));        }

這種才可以

    File file = context.getDatabasePath(data);        file.mkdirs();        database = SQLiteDatabase.openOrCreateDatabase(file, 123456, null); //        if (database != null) {            database.execSQL(CREATE TABLE IF NOT EXISTS person_student(name VARCHAR(20) NOT NULL , age INT(3)));        }

比較兩種方法,多了一步手動建立檔案夾。

使用方法基本相同,它的加密解密都在內部完成,和我們寫程式基本沒關係,主要作用是防止別人通過root許可權直接查看明文資料庫。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.