SQLite
 sql >> база данни >  >> RDS >> SQLite

Как да започнете с SQLCipher за android?

За да използвате правилно SQL Cipher за Android, трябва да използвате външни библиотеки и да промените част от кода, който взаимодейства с вашата DB.

  1. Те първо трябва да бъдат добавени към вашия проект (в папката libs.) Вижте тук, за да ги получите:http://sqlcipher.net/sqlcipher-for-android/

  2. На второ място, трябва да добавите файла icudt4dl.zip към папката с активи, този Zip се предлага с библиотеките на SQL Cipher.

  3. Щракнете с десния бутон върху вашия проект, отидете на свойства, след това път за изграждане на Java, след което включете библиотеки като commons-codec.jar, guava-r09.jar, sqlcipher.jar. След като това е направено, направете изчистена компилация.

  4. След това във вашето приложение, вместо да импортирате android.database.sqlite, ще импортирате import net.sqlcipher.database

  5. Променете всеки код, който взаимодейства с DB, например:

    SQLiteDatabase.loadLibs(контекст);

    Низ dbPath =this.getDatabasePath("dbname.db").getPath();

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

  6. Уверете се, че базата данни е криптирана, отидете на DDMS перспектива в Eclipse, щракнете върху раздела File Explorer, отидете на data/data/, щракнете върху .db файла и изберете get device file, запазете го на вашия работен плот и го отворете с текст редактор. Потърсете обикновените текстови стойности, които сте вмъкнали във вашата база данни, ако все още можете да ги прочетете, нещо се е объркало.

Може също да е добра идея да разгледате някои уроци по SQLite, преди да приложите SQL Cipher. Един добър е споменат тук:Android sqlite база данни - откъде да започна, тъй като урокът е отишъл за бележника?

Актуализиране

Този отговор вече е остарял и Eclipse на практика е остарял за разработка на Android. Наскоро трябваше да създам приложение с помощта на SQLCipher в Android Studio за Android 5 + 6 и това са стъпките, които следвах.

В Android Studio можете да включите SQLCipher като зависимост във вашия файл за изграждане. Актуализирайте своите зависимости в build gradle, за да включите следния ред:

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

Можете да бъдете в крак с версиите тук:https://mvnrepository.com/artifact/net.zetetic/android-database-sqlcipher

Приложението ми нямаше да се изгради, освен ако не премахнах SQLCipher файловете в папката lib и папката с активи, но след това работи според очакванията. След като направите тези промени, стартирайте изграждане/почистване и проверете дали работи.

Същите стъпки, споменати по-горе с промяната на кода ви, продължават да са валидни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON функции и оператори в SQLite (пълен списък)

  2. SQLiteDatabase android IllegalStateException

  3. Как да изчислим разликата между две времеви марки в SQLite

  4. Как работи SQLite Sum().

  5. Уверете се, че курсорът е инициализиран правилно, преди да получите достъп до данни от него