SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Làm thế nào để bắt đầu với SQLCipher cho Android?

Để sử dụng SQL Cipher cho Android đúng cách, bạn phải sử dụng các thư viện bên ngoài và thay đổi một số mã tương tác với DB của bạn.

  1. Những thứ này trước tiên phải được thêm vào dự án của bạn (trong thư mục libs.) Tham khảo tại đây để lấy những thứ này:http://sqlcipher.net/sqlcipher-for-android/

  2. Thứ hai, bạn cần thêm tệp icudt4dl.zip vào thư mục nội dung của mình, Zip này đi kèm với các thư viện Mã hóa SQL.

  3. Nhấp chuột phải vào dự án của bạn, đi đến thuộc tính rồi đến đường dẫn xây dựng Java, sau đó bao gồm các thư viện như commons-codec.jar, ổi-r09.jar, sqlcipher.jar. Sau khi hoàn thành việc này, hãy xây dựng sạch sẽ.

  4. Sau đó, trong Ứng dụng của bạn, thay vì nhập android.database.sqlite, bạn sẽ nhập nhập khẩu net.sqlcipher.database

  5. Thay đổi bất kỳ mã nào tương tác với DB, ví dụ:

    SQLiteDatabase.loadLibs (ngữ cảnh);

    String dbPath =this.getDatabasePath ("dbname.db"). GetPath ();

    SQLiteDatabase db =SQLiteDatabase.openOrCreateDatabase (dbPath, "dbPassword", null);

  6. Xác minh rằng cơ sở dữ liệu đã được mã hóa, chuyển đến phối cảnh DDMS trong Eclipse, nhấp vào tab trình khám phá tệp, điều hướng đến dữ liệu / dữ liệu /, nhấp vào tệp .db và chọn lấy tệp thiết bị, lưu tệp vào màn hình của bạn và mở tệp bằng văn bản người biên tập. Tìm kiếm các giá trị văn bản thuần túy mà bạn đã chèn vào cơ sở dữ liệu của mình, nếu bạn vẫn có thể đọc được chúng thì có nghĩa là đã xảy ra lỗi.

Cũng có thể là một ý kiến ​​hay khi xem một số hướng dẫn về SQLite trước khi triển khai SQL Cipher. Một cái hay được đề cập ở đây:Cơ sở dữ liệu sqlite của Android - tôi phải bắt đầu từ đâu khi hướng dẫn về notepad đã đi?

Cập nhật

Câu trả lời này hiện đã lỗi thời và Eclipse thực tế không còn được dùng cho Phát triển Android. Gần đây, tôi đã phải tạo một ứng dụng bằng SQLCipher trên Android Studio cho Android 5 + 6 và đây là các bước tôi đã làm theo.

Trong Android Studio, bạn có thể bao gồm SQLCipher làm phần phụ thuộc vào tệp bản dựng của mình. Cập nhật phần phụ thuộc của bạn trong lớp xây dựng để bao gồm dòng sau:

dependencies{
    compile 'net.zetetic:android-database-sqlcipher:[email protected]'
}

Bạn có thể cập nhật các phiên bản tại đây:https://mvnrepository.com/artifact/net.zetetic/android-database-sqlcipher

Ứng dụng của tôi sẽ không được tạo trừ khi tôi xóa các tệp SQLCipher trong thư mục lib và thư mục nội dung, nhưng sau đó nó hoạt động như mong đợi. Sau khi bạn thực hiện những thay đổi này, hãy chạy một bản dựng / dọn dẹp và kiểm tra xem nó có hoạt động hay không.

Các bước tương tự được đề cập ở trên với việc thay đổi mã của bạn vẫn có hiệu lực.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chỉ thêm dữ liệu vào cơ sở dữ liệu sqlite một lần và đọc nhiều lần

  2. làm thế nào để thêm bộ điều hợp tùy chỉnh vào hoạt động để làm cho danh sách xuất hiện trong hoạt động?

  3. Dữ liệu SQLite đến RecyclerView

  4. Hiển thị dữ liệu SQLite trong RecyclerView

  5. SQLite3.Exception:hình ảnh đĩa cơ sở dữ liệu không đúng định dạng