As I'm writing my app, I quickly realized I need to have a local cache to avoid too many backend roundtrips. I started building my own from scratch backed by SQLLite with server backend being GAE (Endpoints) but I bet there are great solutions out there written by devs that have focused solely on this problem, thought about cache consistency, different modes (write-through, write-around, write-back), etc.
So, does the community have any recommendations? After some quick research Firebase seems very interesting but I wanted to reach out to a broader audience with more experience (mine is extremely limited in Android). Ideally, I'm looking for something that is as transparent as possible. My code is already structured with a well-defined data layer via an interface with an impl which uses preferences (was starting to switch it to sqllite) so ideally I'm hoping to just drop in a replacement solution.