I'm still working on the Android based My Collection application, but I've run into some roadblocks from a UI perspective and I have allowed myself to be pleasently distracted by the iPhone SDK.
I'll get back to "My Collection" as soon as I have an epiphany but for now, I've been able to make some progress with the iPhone SDK:
- I now have full Create, Read, Update, and Delte (CRUD) functionality against the "My Collection" database.
- I am able to use the UITableView control to display a list of all "items" in a collection (although without pictures for now) and navigate to a details page where a user can edit the items.
- The UITableView is updated without a need to re-query everything in the database (preserving your possition in the scroll list BTW).
There are a great many things I need to sort out yet and I'm waiting on an iPhone book I bought to walk me through some sample projects. The development environment is so different, just figuring out how to connect a button to an action is challanging. At least I have worked with the Model View Controller (MVC) paradigm enough now that I'm not confused by that.
Sofar, everything I have done has been an uphill struggle. I'll write individual apps to discover and demonstrate a particular bit of functionality. Once I understand how to do that functionality, I piece it together into a project I'm calling "iCollection" which will become my final Proof of Concept (POC) app to decide if I want to release "iCollection" in the Apple AppStore.
It's very nice to get back into C programming and Objective-C is a nice distraction as well. Since I use the SQLite C API's, I have to work with native C as well; however, there is a wrapper called FMDB which I might use to make things like BLOB retrieval easier from the database.
Also, there are some other design considerations as well. The iPhone doesn't have an SD card slot and has enough internal memory for me to not have to write special code to find the best place to store the database. All memory is internal which is a delight to me personally because 90% of all reported issues with the Android app "My Collection" are releated to the SDCARD and not my actual code.
Also, I might not store the images in the SQLite database as well. I self-contained them in the SQLite database in Android because of issues I had with the SDCARD (no good way to know if it's there). In the iPhone, I can give them an ID and save them to the filesystem and it's SOOOOO much easier to read them in that way:
UIImageView imageView = [[UIImageView alloc] imageFromFile:@"pathToFile.png"];
I have to say the more I work with and get used to the iPhone SDK, the more I like it; however, I do find things that should be simple much harder and things that are usually hard about the same. Android is definately easier to program for but I'll reserve final judgement until I get "iCollection" finished.
Either way, I'm almost done with my lunch break and I have roadmaps to finish. THANK GOD we have a Subway in the building where I work!!!