开发者

get data from online once and then viewable offline

Okay, I want to have an app that takes phone numbers from an online database and displays them in a table view. When the user is not online, I want them to still be able to see the numbers they already got from the database in the t开发者_C百科able view. If the user manages to go back online, the database updates the view. My question is, is this possible to do and if so, what's the best way to approach it? (bit of a newbie, please help me out)


There are many ways to do what you are asking, depending on the complexity of what you are after.

Could I suggest the following steps (I'm not sure which ones you can do, and which ones you are having trouble with).

  • Connect to the server and retrieve the list of phone numbers

    If the database has a web server front end this might be as simple as sending a get request to the server (see NSURLConnection) and parsing the result. Otherwise you will need to know/tell us what type database you are using.

  • Store the phone numbers on the device

    Use SQLite to store the numbers on the device (See iPhone SQLite Resources)

  • Check for internet connectivity

    Periodically check for internet connectivity, and if a specific time has elapsed since you last polled the server, retry. (See Checking iPhone internet connectivity)


Although you’re probably looking for a native app solution, you can also do this with a web app.

  • http://diveintohtml5.ep.io/offline.html


I am a new developer iPhone developer, "learning" to be precise. I came across the useful NSUserDefaults (a dictionary in which you can store/restore state even after your application relaunches). Problem with this dictionary will be memory in your case. NSUserDefaults is sort of global to all applications and yours may spoil the show for other innocent applications (like Weather :D ).

To work around this, you can have your application declare a property list file where you store a few numbers (best practise would be the most recent but you can use any selector of choice). Look for an appropriate time in your run loop to store these numbers into your property file and load them when the application starts.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜