Saturday, May 7, 2011

Android App Architecture

This is a set of notes that I made for my own reference.

Android application does not have a main method as desktop application have. This is because Android application is invoked by the Android system whenever any part of the application is needed, and the Android will instantiates corresponding java objects. This is made possible by components based architecture.

Android application is a collection of components (activities, services, content provider, and broadcast receivers). Not all these components need to exist at the same time in the same application. But all the components share resources, e.g. databases, file systems etc.. The components communicate with each other by intents, which are described by a manifest in application package.

What is Activity and Service?

Activities are components in Android App to presents user interface, which is similar to like WinForms in .NET desktop application. A service is similar to activity but with no user interface. A service runs in the background all the time.

replicate directory structure only

To replicate a directory structure only:

find * -type d -exec mkdir [TARGETDIR]/\{\} \;

Wednesday, May 4, 2011

Air for Android

Missing functions from Air SDK
  • activating phone vibration
  • access android native contact list
  • creating android intents
  • messaging to status bar
  • enable one air app to open another
  • creating widgets
To convert desktop air app to android
  • the WindowedApplication application MXML tag needs to be changed to ViewNavigatorApplication. WindowedApplication assumes there is a NativeWindow, which is not the case on Android.
  • In the Application descriptor, the namespace must be 2.6 or later and the visible tag must be set to true.
The following desktop functionalities are not supported on Android:

ActionScript 2, ContextMenu, DatagramSocket, Dockicon, EncryptedLocalStore, HTMLoader, LocalConnection, NativeMenu, NativeWindow, PrintJob, SecureSocket, ServerSocket, StorageVolumeInfo, SystemTrayIcon, Updater, XMLSignatureValidator