The Problem One day it was just there. A mischievous NullPointerException causing, eh, mischief. It was fairly easy to provoke with my application but for some reason my code was not part of the stacktrace. 12-07 14:42:52.722 E/AndroidRuntime(18421): FATAL EXCEPTION: main 12-07 14:42:52.722 E/AndroidRuntime(18421): java.lang.NullPointerException 12-07 14:42:52.722 E/AndroidRuntime(18421): at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1064) 12-07 14:42:52.722 E/AndroidRuntime(18421): at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1081) [...]
Android: The Mysterious NullPointerException
December 15th, 2011 by Darius Katz — Android, Tips & Tricks
Tags: Android, mobile, programming
The state of iOS Open Source – and what to do about it!
May 16th, 2011 by Fredrik Olsson — Architecture, Cocoa, Tips & Tricks
There is a vibrant community of open source projects for iOS. You need a calendar UI components or a JSON parser? No problem, the projects are out there. Most code out there is of very high quality. Unfortunately the distribution of the code is generally very crude, barely half a step away from sharing code [...]
Tags: frameworks, iphone, maven, mobile, objective-c, open source
Design/performance – WP7 in blend and code
March 31st, 2011 by Håkan Reis and Andreas Hammar — .Net, User Experience
We (Andreas Hammar and I) are just returning from Tech-Days 2011, we delivered a session on developing applications for Windows Phone 7 in Blend and code. While we were preparing for this session something stuck in our minds – when it comes to mobile applications the top priority is in design and performance. Design and [...]
Tags: mobile, techdays, user experience, ux, windows phone 7, wp7dev
Cucumber tests on iPhone/iPad
February 11th, 2011 by Davor Crnomat — Testing, Tips & Tricks, Uncategorized
I am sure everybody has heard about Cucumber ( https://github.com/aslakhellesoy/cucumber) – a tool for Behaviour Driver Development where you describe software behavior in natural language that your customer can understand. Through step definitions these behavior descriptions are executed as automated tests. Cucumber serves as documentation, automated tests and development aid. My friend and colleague Christian [...]
Tags: automated testing, bdd, Cucumber, iphone, mobile, ruby
Future Cocoa Operation
August 19th, 2010 by Fredrik Olsson — Architecture, Cocoa, Tips & Tricks
In Java you have for quite some time had the Future interface for encapsulating an asynchronous calculation. Cocoa has had the abstract NSOperation class to encapsulate asynchronous operations. NSOperation do not have any facilities for returning a result when done as the Future do, you are left to implement this on your own. Which I [...]
Tags: concurrency, design patterns, iphone, Java, mobile, network, objective-c, programming
Performing any Selector on the Main Thread
March 30th, 2010 by Fredrik Olsson — Cocoa, Embedded, Tips & Tricks
Many UI frameworks, including AppKit for Mac OS X and UIKit for iPhone OS, require that all methods to UI components are sent on the main UI thread. Cocoa and Cocoa Touch make this quite easy by providing for example -[NSObject performSelectorOnMainThread:withObject:waitUntilDone:] in Foundation. Making updating the text for a text field a snap: [someTextField [...]
Tags: cocoa touch, concurrency, iphone, mac, mobile, objective-c, open source, programming, tips, tutorial
Learn to Stop Worrying and Love the Singleton
January 15th, 2010 by Fredrik Olsson — Android, Architecture, Embedded, Java, Tips & Tricks
Enterprise applications and mobile applications have quite different requirements. Starting an enterprise application is just something you do once before it continue running for months or years. On the other side of the spectrum most mobile applications seldom runs for more than minutes, run by a bored users standing in line or riding the bus. [...]
Tags: design patterns, java me, mobile, mock, performance, spring ldap
Google Translate and iPhone apps
January 11th, 2010 by Fredrik Olsson — Cocoa, Embedded, Tips & Tricks
The Cocoa and Cocoa Touch frameworks has a really nice function for acquiring a localized string NSLocalizedString(). Just pass in a key and you are done, for strings that are known at least. Sometimes you are getting unknown strings from a data source not under your control, strings representing just a fraction of the text [...]
Tags: frameworks, iphone, localization, mobile, objective-c, web
The BROWSABLE category revealed
September 24th, 2009 by Mattias Rosberg — Android, Embedded, Java
Assume that you on your desktop computer browse to a web page with the following page source Clicking on the first link you expect your browser to start a new tab and navigate to the url that was specified in the href. If you click on the second link you would expect that the browser [...]
Tags: mobile
Add some polish to iPhone app start up
June 29th, 2009 by Fredrik Olsson — Cocoa, Embedded
First impressions last, and the very first impression your users have of your iPhone application is the start up. First step is to have a nice Default.png, but not many words spilled on that one, it is well covered in Apple’s documentation. Creating a perfect Default.png is impossible, especially if you have different setup of [...]
Tags: frameworks, iphone, mobile, objective-c, programming
Queued Background Tasks for Cocoa
May 9th, 2009 by Fredrik Olsson — Architecture, Java
The megahertz race is over, and instead we get more execution cores. This means that we as developers must make our applications parallel, in order to take advantage of the new performance. The easiest way to be parallel is to execute tasks in new threads, something that is useful also for lengthy but not resource [...]
Tags: concurrency, design patterns, frameworks, iphone, mac, mobile, network, objective-c, open source, performance, programming
Regular Expressions and Cocoa
May 6th, 2009 by Fredrik Olsson — Cocoa, Embedded, Tips & Tricks
Regular expressions is a powerful tool for solving many problems related to text. It can be misused as any good tool, but there are moments when they are the best solution for a given problem. At those moments the lack of regular expressions for Cocoa on Mac OS X and Cocoa Touch on iPhone OS [...]
Tags: apple, frameworks, iphone, mac, mobile, objective-c, open source, performance, programming, regex
Working with SD cards in the Android emulator
April 22nd, 2009 by Mårten Österberg — Android, Embedded
Working with external storage in the Android emulator could be a little tricky and the documentation is not easy to find. I’ll try to give a brief walk through of the steps needed to create a SD card image, mount the image in Linux, put content on it and use it in the emulator. Creating [...]
Tags: linux, mobile, sdk, tools
Adding Sorted Inserts to Cocoa Arrays
March 28th, 2009 by Fredrik Olsson — Architecture, Cocoa, Embedded, Tips & Tricks
NSArray and NSMutableArray have methods for sorting arrays, NSArray returns new sorted arrays and NSMutableArray can be sorted in place. The sort methods comes in three flavours; using a function, using a selector, or using an array of NSSortDescriptor objects. NSArray admits to sorts being a slow operation, and adds a method pair for comultive [...]
Tags: frameworks, iphone, mobile, objective-c, open source, performance, programming
Layout resources in Android
March 26th, 2009 by Mattias Rosberg — Android, Embedded, Java
One thing that often confuses developers new to the Android platform is the handling of layout resources. The xml files describing the layouts are magically transfered into a more efficient binary format behind the scenes and hidden away – leaving the developer with a static reference to the resources via the R.java file. By using [...]
Tags: mobile, programming, tricks
