Whats the best way to store data on the phone when it's not connected to the internet.

I'm really new to IOS stuff.


I'm working on an app idea and need some pointers. Users will use mobile devices to collect data. More often than not they will not be in cell range (out hiking) while collecting the data. I need to keep the data on the mobile device until they can sync to my web servcies. Also I have some look up information that I'll maintain on the server, and the mobile device will download and use while they are collecting data,


Afterwards the data they collect will get collated and be presented on my web site for analysis.


I hope that's clear.


The data base on the server is going to have 30-50 different tables, with probably no more than 10-15 fields. I'd assume the mobile device will need pretty much a mirror of the data sliced by the specific user. Generally it's all basic text and numbers. Oh and blobs for pictures.


I'll be writing this first for IOS, but later for Android if that makes a difference.

What I don't know is should I store the data on the phone in CoreData, SqlLite, something else. I work as a full time web/database developer so sql syntax isn't a concern.

Any thoughts you have would be greatly appreciated.

Core Data would be my first choice for local storage.


But, keep in mind that Core Data is an ORM not a RDBMS and that its schema should be optimized for mobile. Which may or may not mirror the backend DB.

Beast,


Thanks for the response.


Since I posted this I found references to Realm. Have you used/seen this option? Enough to have an opinion about it?


Thanks,

Steve

I've had a dozen or so app projects where we considered using Realm, but it never made the cut due to a variety of use case limitations.

Beast,


Thanks. If you have a moment, can you show some use cases that made you shy away from it? So far it seems to be a pretty slick for my basic requirements, but I'm sure I'm missing something.


Thanks,

Steve

The big ones for us were our existing familiarity with Core Data, Realm didn't really provide any benefits over Core Data. And, at the time, its poor multi-threading support.


It's much easier to get Core Data support from the community than Realm support.


Realm may make more sense if one is developing iOS and Android apps and wants a uniform data store, but typically, the platforms have enough differences to warrant local stores customized to the specifics of the platform.

THANKS Beast.


That was a great help. I have 0 experience with core data, and I don't care about multi-threading. Sounds like Realm is where I'll go.


THANKS,

Steve

Whats the best way to store data on the phone when it's not connected to the internet.
 
 
Q