I am now a 50 year old manager of a small piece of a very large company that purchased us about 1 year ago. Been into computers since grade school in the late 70's, having spent years working in the field, building, fixing, installing, selling, teaching, gaming, programming and now consulting on all the aforementioned topics. Computing life is good.

Sunday, October 16, 2011

New phone development...

Last month I posted about the purchase of my new Android based LG Thrill and remarked how I was going to write that next flashlight application that everybody would want. (There are hundreds already out there). In reality I wanted to get into the Android development paradigm because I found the IOS development environment restrictive in various ways. ( You need a Mac... You need to use Code... Natively you need to learn ObjectC). To that end I have installed the latest bits of development requirement on my windows 7 laptop, and started toying around with the Java based development environment for the Android device environment. I found the initial Hello World style of application easy enough. I also found the task to deploying the application refreshingly simple. Code signing and certifying using the development environments own sample certificate to sign the apk package and I was able to just send to blue tooth device on my laptop to place it on my phone. Once the file was sent to the phone, the phone itself asked what I wanted to do with the file. I selected to install it where Android dutifully did so and the test app appeared in my set off apps. Touch it and it runs just as you might expect.

The development environment also allows easy sending of test applications to the software based Android emulator. you can use one of the 3 pre-built android configurations that came with the development environment, or you can build one with specific parameters that you want. IE Screen size, Memory, SD Card Size, and so on. Using the tools I built a emulator environment that closely matched my LG Thrill in feature set. and I use that emulator environment when I want to test an app without sending it to my actual phone.

I purchased a number of books via Amazon on Android development, and have them on my Kindle app in my IPad, (I still think the IPad makes a better kindle than an actual kindle does), and I was just playing with Java in Eclipse with thee android SDK when I came across some information about MONO Droid.. and my whole life changed....


Mono Droid Main web presence... Wonders did my eyes behold....

MONO Droid is a port of the MONO development paradigm to the Android device pool. Its an offshoot of Xamarin's MONO Touch environment for the IOS devices (IPhone and IPad). I had basically forgotten about MONO Touch because it was initially owned by Novel and they gave the whole project and the staff working on that project, the axe last spring. My office, full of bits of technology that are no longer supported, had no room for yet another one so I gave up on writing C# for any of the I-devices. Well the original Novel development team lead by Miguel de Icaza, formed the company Xamarin out of the ashes left by Novel and are carrying the development forward. MONO Droid is a port of the MONO runtime with support for the Androids native libraries and features. It allows me to write C# code in the native C# environment I use every day for a living, Visual Studio 2010. From my own comfort zone I can write in the language I am most familiar with, in the environment I am most familiar with, to target my Android devices. (MONO-Touch also exists, for IOS. It affords C# language development for the I-devices but it has some of the key barriers for me personaly in that it requires a MAC development environment)
I first downloaded the trial of the MONO Droid sdk from android.xamarin.com and installed it. The SDK installs a number of things that support its needs including the MONO run times, and MonoDevelop (A visual studio like environment for those folks who don't have Visual Studio Professional). It also installs a number of add-ins and templates that expand on Visual Studio 2010 to support Android development. After installing MONO Droid, Visual Studio showed new project types in its new project dialog for various ANDROID deployments. Selecting one of these new project types creates a new project with everything needed to target an Android device.


New Project Dialog Showing Android Templates added to VS2010
The site also includes a series of short tutorials to help someone like myself jump right in and start to play with all the shiny knobs, bells and whistles in this new environment. The trial version will not however deploy to actual devices only emulator images built using native Android SDK that I was talking about at the outset. It even recognized the special emulator image I built to mimic my LG Trill.

Start Emulator Dialog

Using MONO Droid is easy. A simple tutorial available shows how to consume Web Services. Using that tutorial I was able to easily leverage all this code we have written in our silverlight developments. Over a single weekend I was able to write an android application that ports a laarge part of the face sheet functionality of one of our EHR applications (IhSIS). I dial up a persons record and can look at their Address History, Authorizations, Claims, Incidental Expense Requests, Service Provider List, and Supports network all from my Android Phone, Sweet.....


Emulated LG Thrill running my test IHSIS-DROID application actually connecting to my Web service Layer.















- Posted using BlogPress from my iPad