greenDAO - SQLCipher handling (This is a modified version of GreenDao 1.3.8 that supports database encryption)
- Replaced every android.database.sqlite by net.sqlcipher.database (Both in DaoCore and DaoGenerator, even in non-java files)
- Added sqlcipher.jar (not maven-ised or gradle-ised yet)
- Modified build.gradle in DaoCore, DaoGenerator and DaoTest to integrate sqlcipher and its dependencies (don't forget to change java.srcDirs = ['src','src-gen']) into java.srcDirs = java.srcDirs + ['src','src-gen'])
- Added assets/icudt46l.zip and src/main/jniLibs NDK/JNI dependencies
- Refactored DaoTest (All the tests are green with encryption YEAAAAHHHH!!!!)
If you want an example on how to integrate this on your project, watch the DaoTest project (because DaoTest will run as your Client Project). DaoGenerator doesn't have any dependencies to sqlcipher because it only generates lines of code.
Modified by olivierg13
greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases. Being highly optimized for Android, greenDAO offers great performance and consumes minimal memory.
Home page, documentation, and support links: http://greendao-orm.com/
New features ahead for the brave: documentation and test coverage may be lacking. Give it a shot if you dare. API may change in the future.
- New AsyncSession (acquired from DaoSession.startAsyncSession()) provides most operations for DAOs, Queries, and transactions in a asynchronously variant
- AsyncOperations are processed in order by a background thread
- waitForCompletion methods for AsyncSession and AsyncOperations
- AsyncOperationListener for asynchronous callback when operations complete
- Asynchronous operations can be merged in single transactions (details follow)
- Added raw SQL queries returning a Query object (LazyList support etc.)
EventBus is a central publish/subscribe bus for Android with optional delivery threads, priorities, and sticky events. A great tool to decouple components (e.g. Activities, Fragments, logic components) from each other.
greenrobot-common is a set of utility classes and hash functions for Android & Java projects.
Follow us on Google+ to stay up to date.
- Added Flag for AsyncOperation to track the caller's stacktrace (useful for debugging)
- Fix schema version >= 1000
- Fixed building defect DeleteQuery for tables ending with character 'T' (bug introduced in 1.3.3)
- Prepared Fast Cursor for API level 19
- Fixed leaked statement in DeleteQuery
- Because of an issue with ApplicationTestCase, the base test class DbTest does not extend this class anymore. Note: This refactoring may require you to adjust some test classes if your tests depend on DbTest or its subclasses.
- Redeployment of 1.3.3 artifacts without some old class leftovers
- Fixed a memory leak affecting Query class that was introduced in 1.3.0 (#93)
- Fixed a rare race condition that can lead to "Entity is detached from DAO context" DaoException (#101)
- Fixed building CountQueries with combined AND/OR conditions
- Some secret inoffical work in progress
- Don't use Gradle's "compile" dependency scope
- Reworked internal locking of insert/update/delete methods
- Fixed potential deadlocks when transactions are executed concurrently to one of the various insert/update/delete calls
- Reworked queries to be used without locking, query instances are now bound to their owner thread (breaking change!)
- Relations use the new lock-free query API
- Query classes were moved into the new query subpackage (breaking change!)
- Introduced Gradle build scripts for DaoCore and DaoGenerator projects
- Maven artifacts are pushed to Maven Central starting with this version
- Added two packages for classes used internally (identityscope and internal)
- Added new deleteByKeyInTx DAO method to efficiently delete multiple entities using their keys
- Added some checks to throw exceptions with nicer messages telling what's wrong
- Added Travis CI
- Limited support of String PKs (no relations using String FKs yet)
- Fixed index creation (please update your schema)
- Added CountQuery for creating SELECT COUNT (*) queries with QueryBuilder
- Added getDatabase in DaoMaster, DaoSession, and Dao
- Added insertOrReplaceInTx in Dao
- Added deleteInTx in Dao
- Added autoincrement() creating AUTOINCREMENT PKs
- Made DAOs and DaoSessions in active entities transient (allows serialization of entities)
- Minor fixes
- Demo projects works with ADT 17 (moved greendao.jar into libs)
- CREATE/DROP TABLE may be skipped for entity types: This allows having multiple entity types operate on the same table
- Minor improvements
- Added NOT IN condition for QueryBuilder
- Fix for Roboelectric (Issue #22)
- Minor fix (Issue #5)
- DeleteQuery for bulk deletes
- Entities may implement Java interfaces
- Entities may extend a Java class
- Added LIMIT and OFFSET support for QueryBuilder and Query
- Convenience methods to add named relationships
- SQL scripts are executed in a transaction by default
- Fixed queries with special column names (SQL keywords)
- Changed default names for to-many relations to end with "List"
- ORDER BY uses LOCALIZED collation for strings by default
- Fixed generation of to-many relations
- Fixed generated import statements when entities/DAO are not in the same package
- To-many relations (lazily loaded on the entities)
- To-many relations with custom join properties
- Active entities can be updated, refreshed, and deleted directly
- Significant performance improvements (faster identity scope, faster database result parser)
- "Keep sections" for custom code in entities were added that won't be overwritten during code generation
- Other minor improvements
http://greendao-orm.com/2011/08/19/query-builder-and-lazy-loading-lists/