4 weeks ago we released greenDAO 3.0 introducing @Entity annotations as an alternative to the generator project. We noticed some issues with this rather big update, and fixed most of those in greenDAO 3.1 (thanks to everyone who reported bugs!). The update also brings two new features:
- Experimental JavaRx support: you can get Rx counterparts of DAOs, transactions, and queries
- DAOs now offer save() and saveInTx() methods as better performing alternatives to insertOrReplace() and its variants
Some notes on Rx: We would love to have some feedback on the @Experimental Rx APIs: let us know how we can improve the APIs before finalizing them. We also plan a follow-up post on the proposed Rx APIs. Note that these Rx APIs are just the first step, and we already track extended Rx support on GitHub.
Along with this version, we also improved the organization of JavaDoc API references, which now have their own page.
There are some know minor issues with entity annotations in greenDAO 3.1.0, which we plan to address very soon in version 3.1.1:
- The order of generated code may change in certain scenarios
- When custom types and converter are inner classes of entities, you must qualify these classes in the @Convert annotation
As you saw there already some updates in the queue. Don’t miss out and subscribe to our newsletter.
Will greendao-encryption also receive a new version? It seems it still is on 3.0.0-beta3.
Starting with greenDAO 3.0, encryption is part of the main release.
Does this mean I should not worry about including ths line in my gradle build file?
compile ‘net.zetetic:android-database-sqlcipher:3.5.1’
For encryption, you must include the dependency to SQLCipher. Then you can use one of the getEncryptedXxxDb() methods of DatabaseOpenHelper (http://greenrobot.org/files/greendao/javadoc/3.1/org/greenrobot/greendao/database/DatabaseOpenHelper.html).