Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I would like to know what storage concepts are used for mobile or handheld devices, where an app is operated on?. AFAIK one of them is SQlite.

Can anyone shed a light on this concept? perhaps links and resources will be much useful to many of new developers. Thanks a ton.:)

EDIT: My target would be Android and ios OS.

share|improve this question
    
What mobile OS are you targeting, or do you want a general overview of storage approaches for multiple mobile OSs? –  Daenyth Jul 2 '12 at 18:33
    
@Daenyth Am basically looking for ios and Android OS! –  sree Jul 2 '12 at 18:34
add comment

3 Answers

SQLite is part of Android, it's a really good example about a simple and effective way to store data when you want to use resources as less as possible.

Regarding iOS, it basically adopt the same software https://developer.apple.com/technologies/ios/data-management.html .

You can also find many questions with at least 1 good answer here on stackexchange http://stackoverflow.com/questions/6344715/how-to-embed-sql-in-ios-app .

In this case the most popular structure is an Hash Table http://en.wikipedia.org/wiki/Hash_table but you don't have to care about that when programming.

share|improve this answer
    
can i not use a common database or storage for both ios and android ? , i mean while programming my app can't i do it for one database with which both OS works? –  sree Jul 2 '12 at 18:43
    
I see at least 2 cons and no really good point for doing this. 1) when submitting your app to Apple for approval this can be suspicious 2) you can drain a significant portion of resources from the device while using a non-standard, aka non optimized, software. In my experience you better have a really good reason to not use a standard technology that a particular platform gives to you, this can also raise up the quantity of bugs and can make the debug process more difficult and longer. –  user827992 Jul 2 '12 at 18:50
    
tnx for suggestion, am really a beginner in mobile devlopment so beg ur pardon, if my quest technically sounds stupid! :) –  sree Jul 2 '12 at 18:53
    
Nit: SQLite is included with Android and predates it by eight years. –  Blrfl Jul 7 '12 at 12:26
add comment

You can use a web-service to have a common Database between both OS, android and IOS. Answering your question which you asked in comment. Can't comment because I am new here :).

share|improve this answer
add comment

I am also quite new to mobile development, but I have found the following fact (which is quite logical but a bit disappointing, more experienced colleagues might correct me): this is business, and each vendor wants to keep users in their herds, they want to sell gadgets to them in the end.

They really want developers work on their platforms, but they don't care (better: don't like) multi-platform applications. They want us to make users love their products, especially the distinctive eye-candies of the ever new versions, and use our applications as their market advantage... Why on Earth should they support making multi-platform things? :-)

Of course that is a niche, and there are different multi-platform toolkits, google threw this summary, and stackoverflow has another good start. You should check what they offer for data persistence. Pro: you have the "and". Con: I suppose they offer always a bit less on each platform than available in native development, and of course you will learn that tool as your "platform"...

The result: instead of locking to iOS OR Android, you lock to the chosen toolkit with your code and (what is even more important): your experience. The toolkit may be fine and offer the precious "AND", but... if I have to guess which experience will be rewarded more and which company will exist longer, I would bet on Google and Apple, not "TheNthBestMobileMultiPlatformToolCompany"...

My 2 cents: if you choose what to learn now, and don't have too much (I mean years of serious) programming experience, select iOS.

That is a massive environment, the best I have met the last twenty-some years. Yes, it's limiting. Yes, it's expensive (but you can start working for free with a little hack). But if you learn it, you learn very good and stable concepts (like Core Data), and if you master it, you have more chance to get paid well for it. Oops, another con: the weird syntax of Objective C. It is relatively easy to switch among different Java, C, script dialects, while Objective C is really... ehm... special, and if you have to move from it one day, that might be harder.

With Core Data you will see no SQL, but what is more important: you will have an environment that helps you design your data structure and cares about persistence, transactions, GUI control binding, relation management, etc. in the background, with a must read reference, good tutorials and usable web help like Cocoa Dev Central or Ray Wenderlich portal. It will take time to find a situation where Core Data sucks, and even he says he hit the 5%, and for the rest it's okay.

For the memo: I don't personally like iOS, and currently hack it in my way to get what I want from it (going against the docs sometimes) but "give credit when credit is due". My opinion is that true multi-platform development (I mean: not using a toolkit, which is practically yet another single platform promising more possible buyers, but making your own tools and concepts) is for obsessed maniacs. Including me. ;-)

share|improve this answer
    
tnx for the info... –  sree Jul 7 '12 at 13:28
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.