9.
Android RuntimeDalvik VM Google’s implementation of Java Optimized for mobile devices Runs .dex files which are more compact and efficient than standard .class filesCore Java libraries Not those of JSE or JME but have some similarities

12.
Building BlocksActivities : User InterfaceIntent: A mechanism for describing a specificactionService: A task that runs in the backgroundwithout user interactionContent Providers: is a set of data wrapped upin a custom API to read and write it

14.
ResourcesStored in res folderIncludes all non code information (e.g.localized text and images)Resources compiler compresses and packs allresources in a class named R

15.
Difference between Assets and ResourcesWith resources, you would have to declare alist of all the resource IDs that might be usedand compute an index into the listAssets can be organized into a folderhierarchy, which is not supported by resources

16.
Android ManifestEvery application must have anAndroidManifest.xml file in its root directoryManifest presents essential information aboutthe application to the Android system: Java package Components of the application (Activities, Services, etc.) Permissions the application Minimum level of the Android Libraries that the application utilizes

22.
Activity ClassActivity class takes care of creating a windowin which UI can be placedThere is a one-to-one relationship between anActivity and a UI screenActivities are made up of subcomponentscalled Views

33.
ListenersTell Android which object to callback when theuser touches or clicks the viewUse setOnClickListener() method that needs tobe passed an object that implements theOnClickListener Java interfaceSet android:onClick property with the methodname that handles the click action

34.
Applying a ThemeAndroid is packaged with several themes thatyou can reference by name, or you can makeup your own theme by extending existing onesand overriding their default valuesYou can define your own custom theme inres/values/styles.xml

35.
MenusAndroid supports three kinds of menus: Options Menu: the menu you get when you press the physical Menu button Context Menu: that pops up when you press and hold your finger on the screen Sub Menu: a floating list of menu items that the user opens by pressing a menu

41.
2D GraphicsAndroid offers a custom 2D graphics library fordrawing and animating shapes and imagesThe android.graphics.drawable andandroid.view.animation packages are whereyoull find the common classes used fordrawing and animating in two-dimensions

42.
Drawable classA Drawable is a general abstraction for“something that can be drawn.”Subclasses include BitmapDrawable,ShapeDrawable, PictureDrawable, etc.draw method takes a Canvas which handlesdrawing of primitive shapes (Bitmap,rectangle, line, circle, etc.)

44.
Property AnimationAvailable since version 3.0Changes a propertys (a field in an object)value over a specified length of time

45.
View AnimationTween Animation: can perform a series ofsimple transformations (position, size, rotation,and transparency) on the contents of a ViewobjectFrame Animation: a traditional animation in thesense that it is created with a sequence ofdifferent images, played in order, like a roll offilm

46.
Live WallpaperIntroduced in version 2.1Like any normal application, can use anyfeature (MapView, Accelerometer, GPS, …)Provides an Engine for handling rendering ofWallpaperProvide “settings screen”

60.
Connectivity ManagerMonitor network connections (Wi-Fi, GPRS,UMTS, etc.)Send broadcast intents when networkconnectivity changesAttempt to "fail over" to another networkwhen connectivity to a network is lostProvide an API that allows applications toquery the coarse-grained or fine-grained stateof the available networks

63.
Bluetooth Socket (cont’d)You can connect as a Server usingBluetoothServerSocketYou can also connect as a client usingBluetoothDevice and BluetoothSocketConnections are managed by BluetoothSocketusing InputStream and OutputStream

64.
Working with HTTP Similar to JSE using HttpURLConnection and java.net Robust HTTP with HttpClientHttpClient httpclient = new DefaultHttpClient();HttpPost httppost = new HttpPost("http://www.website.org/service.php");List<NameValuePair> pairs = new ArrayList<NameValuePair>(2);pairs.add(new BasicNameValuePair("ID", "VALUE"));httppost.setEntity(new UrlEncodedFormEntity(pairs));HttpResponse webServerAnswer = httpclient.execute(httppost);

65.
Working with Web ServicesSOAP Web Services can be invoked using 3rdparty library such as org.ksoap2RESTful Web Service can be implementedusing HttpURLConnection and XML parserand/or JSON library

74.
SensorsAndroid supports many different types ofsensor devices: TYPE_ACCELEROMETER: Measures acceleration in the x-, y-, and z axes TYPE_LIGHT: Tells you how bright your surrounding area is TYPE_MAGNETIC_FIELD: Returns magnetic attraction in the x-, y-, and z-axes TYPE_ORIENTATION: Measures the yaw, pitch, and roll of the device TYPE_PRESSURE: Senses the current atmospheric pressure TYPE_PROXIMITY: Provides the distance between the sensor and some object TYPE_TEMPERATURE: Measures the temperature of the surrounding area

78.
Telephony ManagerProvides access to information about thetelephony services on the deviceRequires READ_PHONE_STATE permissionGet an instance of this class by callingContext.getSystemService(Context.TELEPHONY_SERVICE)

81.
NotificationsA Notification is a persistentmessage that not only showsup in the status bar but staysin a notification area until theuser deletes itManaged by Notification andNotificationManager Classes

90.
When to use NDK?Typical good candidates for the NDK are self-contained, CPU-intensive operations thatdont allocate much memorySuch operations include signal processing,physics simulation, real time imageprocessing, etc.

97.
OverviewAndroid’s application repositorySimilar to Apple’s App Store and Nokia’s OviStoreBy August 2010, there were over 80,000applications available for download, with over1 billion application downloads

101.
Android Market support in EgyptTo create a Developer profile, a Google Checkoutaccount in requiredGoogle Checkout is not supported in Egypt!A valid credit card in a supported country is one workaroundUsing GetJar to expose applications is anothersolution