Difference between revisions of "Book Review: Learning Android by Marko Gargenta (O'Reilly Book)"

From Ittichai Chammavanijakul's Wiki
Jump to navigation Jump to search
Line 23: Line 23:
 
* Android SDK download page - http://developer.android.com/sdk
 
* Android SDK download page - http://developer.android.com/sdk
 
* Installing the SDK http://developer.android.com/sdk/installing.html
 
* Installing the SDK http://developer.android.com/sdk/installing.html
* Installing Eclipse http://eclipse.org/ - Eclipse IDE for ***Java Developers*** (not the twice-as-large Eclipse for ***Java EE Developers***) is recommended.
+
* Installing Eclipse http://eclipse.org/ - Eclipse IDE for '''Java Developers''' (not the twice-as-large Eclipse for '''Java EE Developers''') is recommended.

Revision as of 12:38, 18 April 2011

Chapter 1: Android Overview

Chapter 2: The Stack

  • Android stacks
    • Linux kernel (display, camera, keypad, etc.)
    • Native libraries (Android runtime (CoreLibs, Delvik VM), OpenGL, SSL, SQLite, Webkit, etc.)
    • Application framework (Activity Manager, Content providers, Notification manager, etc.
    • Applications (Home, Contacts, Phone, Browser, etc.)
  • GNU libc, the default C library for Linux which Android is using, is licensed under GPL license, which requires any changes we release to be pushed back to the open source community. On the other hand, Android and some third-party open source libraries are licensed under an Apache/MIT license, which does not require derivative works to be open-sourced.
  • Dalvik is a purpose-built virtual machine designed specifically for Android, developed by Dan Bornstein and his team at Google.
  • While Java language, Java tools and Java libraries are free, the Java VM is not. Dalvik VM in Android is to replace the Java VM.
  • Differences between Android and Java
    • Java source code => (Java compiler) => Java byte code (running on Java VM).
    • Java source code => (Java compiler) => Java byte code => (Dex compiler) => Dalvik byte code => Dalvik executable (running on Dalvik VM).
  • Android Java is a nonstandard collection of Java classses. Its set of libraries is closet to Java Standard Edition.
  • The APK is a single application package file. It has three main components:
    • Dalvik executable = compiled code to executable
    • Resources = non-code - images, audio, etc.
    • Native libraries (optional) = some native code if any.

Chapter 3: Quick Start