It’s been a while since I looked at or did any programming in iOS and Swift. I’m going to make a point of getting in and programming something (at least that is the goal) once a day. Even if I just add a single line of code, or jot down ideas for a new app, something has to be done. I like programming and hope to build myself a nice portfolio of apps available in the Apple App Store. I just plague
Today I am revisiting my Daily Blessing app. I had completed programming it (for the most part) and need to record everything that will go into it. That’s just a matter of getting over being self-conscious about recording my own voice.
That and I plan on trying to promote my other app, “Daily Dose of Humor“, that starts with something like 100 recorded jokes for your listening pleasure (all G Rated), and every day that you launch the app it will download another joke. You can also record your own and store them locally, and if you are logged into iCloud they will save to the cloud and once approved will be made available for anyone to listen to. Pretty cool right?
More to come.
I spent some more time revisiting the Susan’s Charming Trinkets app.
Previously I was able to read from the cloud database. This weekend I was able to take that data that I received, and add it to a local data store. Furthermore, I am able to read from that datastore.
Next steps: Read from the local datastore and use the image data from there to populate the UICollectionView..
I previously had used a “Lazy” loader, but with this new approach I should be able to use standard code to populate the collection view.
I’ll try both ways and see which I like better. The disadvantage I saw to using the Lazy Loader that I had implemented was that it would do a small reload (with spinning wheel) going both forward and backward through the collection.
I realize I've been completely slacking with the development of my upcoming app. A large reason is I was just not pleased with how it was functioning.
What is WAS set up to do was connect to a cloud database, download an audio file, and play that audio file for the user. I was finding that it was too slow to obtain the sound file, too slow to download it, creating sometimes 30 second waits for the customer before the audio played (depending on WiFi or cell reception). I found this to be unacceptable. This was causing me to ignore the problem, and not continue working on this project. Then I had that AHA moment where it all became clear on what I should do.
So NOW this is how it is set up:
- I created a local Core Data store to house the sound files.
- Whenever the app is initially launched, the app does connect to the cloud database, at which time it searches the local database for the audio name. If it finds it, the file has already been downloaded and nothing happens. If it does not find it, then the file is downloaded, added to the local database and then played.
- Subsequent button pushes will play a random sound file from the local database
The search is really fast as all it downloads initially is some text and does the search for the name. Now that I've got the functionality going the way I want it to I will focus on the aesthetics of the forms. Making them look all pretty and such.
Now I have to figure out how to create and populate the local version of the database with the sound files that I want to be included upon initial download.