I planted a couple of milkweed flowers this year, and am thrilled to report that there are several caterpillars munching away on the leaves. Looking forward to seeing Monarch butterflies soon!
Eyes Realize Real Lies
Found on a bridge leading to the Sanderson Brook Waterfall.
A Simple Tip for developers writing both Kotlin & Swift
In your day to day programming, do you jump back and forth between writing Kotlin and Swift code as I do? You’ve also probably noticed that you develop muscle memory as you type the keywords. The two languages are quite similar and this lets me be quite productive in both. Yet, there is one set of keywords in particular that gets me every time:
‘lateinit’ modifier is not allowed on properties of a type with nullable
I was developing an abstract & generic base class where the generic parameter defines the type of an abstract field. This field would be initialized by inherited classes, so I applied the
'lateinit' modifier to it which caused an interesting error:
'lateinit' modifier is not allowed on properties of a type with nullable
Tracking install sources for Android apps
Have you ever wanted to have a better idea of what’s the best source of your app installs? There’s information around the web on how to do it, but spread out over various sites, so I decided to write this post to consolidate the information.
Starting with Android 1.6, the Android Market’s emits a broadcast Intent named
com.android.vending.INSTALL_REFERRER whenever certain parameters are added to the market url. Note that web version of the Market also passes these parameters to your devices upon install. Since the parameters need to follow the Google Analytics referral link format, Google provides a simple tool for generating these urls, or you could use a copy of my shared Google spreadsheet that I use to keep track of all my campaigns. Here’s a description for the important parameters:
“Incorrect AVA format” when creating a signing key
Have you ever run into the error “Incorrect AVA format” when trying to sign an Android APK with a new key? It turns out this useless error more than likely means that you have used some illegal character in the signing data. In my case, I had used a comma in the company name which isn’t allowed for some reason. Just remove any extra characters and you should be good to go!
EDIT: Great comment below from Adam M Dutko:
Put a \ before the commas and it will work. Here is an example: OU=Test Company\, LLC
Adding formatted HTML text to your Android app
To help make our Android applications look even more professional, we can include HTML formatted text and display it in a
WebView. Here’s the simplest way I’ve found to have local HTML, image and style files and display them. This is the same process I use to display help in Grandma Jong.
First, I’ve stored all my files in a subfolder of assets. This will make it easier to load the HTML, and via some built-in functionality in Android, it will load all assets from the same folder as well. Here’s a screenshot of the assets folder:Continue reading “Adding formatted HTML text to your Android app”
Presenting tomorrow at BarCamp DC 3
I’m really excited about attending the third local BarCamp in DC tomorrow! Yep, we’re already on our third one here locally (not to mention all the others happening in the Baltimore-Washington D.C. area). I’m planning on co-presenting on Android development with Zvi Band. I’ll be showing a simple graphical app with animation and touch screen input.
I’m also using this opportunity to launch the first in a series of articles on Android development, gradually improving this simple app into something useable in a real app involving animations and graphics. Stay tuned, I’ll be posting the first article here sometime next week.