Advanced Android Online Training: Course Duration - 45hrs

android

1. Introduction to Advanced Android:

  • Overview of Advanced Android and Advanced Android SDK.
  • History of Advanced Android.
  • Advanced Android features.

Getting Started

  • Overview of Advanced Android SDK and Advanced Android Development tools.
  • Getting to know your Advanced Android development environment.
  • Setting the Advanced Android environment.
  • What is Advanced Android made of .
    • Activities.
    • Intents.
    • Services.
    • Content Provider.
  • Resources for the phone

    .
    • Storage.
    • Network.
    • Multimedia.
    • GPS.
    • Phone Service.

2. Advanced Android architectur:

  • Advanced Android source code project layout

    .
    • Core projects.
    • External projects.
    • Packages.
    • Providers.
  • Core project

    .
    • frameworks/base.
    • frameworks/policies/base.
    • hardware/libhardware.
    • kernel.
    • prebuilt.
    • system/core.
    • system/extra.
  • Advanced Android Libraries.
  • Advanced Android Runtime.
  • Overview of the Advanced Android development environment.
  • Advanced Android application model.
  • Advanced Android application building blocks.
  • Application design guidelines.
  • Application lifecycle.

Dalvik:

  • DexClassLoaders.
  • How Class Loading happening.
  • VmRuntime.
  • About Zygote process and purpose of the process.
  • How VmStack is used when applications are running.
  • How to get StackTraces.

Project Structure:

  • Root Contents.
  • Project Files.
  • The Manifest.
  • Writing your first Advanced Android application .
    • The Activity.
    • Part of the Activit.
  • Building, Running and debugging your application.
  • Working with Advanced Android simulator.
  • Test your application on devic.

Using XML-Based Layout:

  • What is an XML-Based Layout?.
  • Why use and XML-Based Layout.
  • How does it work.
  • Building custom views and layout.

3. Building Advanced Android Applications:

  • Advanced AndroidManifest.xml file - the control file.
  • Building activities.
  • Building intents.
  • Building and using services.
  • Notifications.
  • Building and using content providers.
  • Using Libraries.
  • Google’s guidelines for developing Advanced Android Applications.
  • Using and developing Application widgets.
  • Application framework - Window manager, Activity manager, Document & File storage manager, et.

Building User Interface:

  • Overview of Advanced Android's view structure.
  • Advanced Android built-in layouts.
  • Advanced Android built-in Views.
  • Event handling.
  • Using Basic Widgets .
    • Labels.
    • Button.
    • Images.
    • Radio and Check button.
  • Working and using Container .
    • Concepts and propertie.
  • Using Selection Widgets.
  • Using Menus.
  • Using pop-up messages.
  • Embedding the WebKit Browse.

Hands on- W rite a Hello W orld Application, or example using views.

How are multiple applications able to run on the platform, how is the
platform able to manage system resources for multiple applications
(memory, SD card, lay outs etc.).

Strengths and weaknesses of the Advanced Android platform

4. Data Stores:

  • Overview of storing, retrieving, and exposing data.
  • Preferences.
  • Files.
  • Managing and Accessing Local Databases.
  • SQLite Databases usage and running SQL query from Application.
  • ContentProviders.
  • Data access over the network.

Advanced Android Security Model:

  • Overview of Advanced Android security architecture.
  • Signing application packages.
  • User IDs and access control.
  • Using, declaring and enforcing permissions.
  • URI permissions.

5. Communicating via the Internet:

  • HTTP.
  • Parsing Responses.
  • Email.
  • Networking.

Using the web browser:

  • Browser architecture and concepts.
  • Content provider.
  • Download manager.
  • Desktop versus mobile/PDA browser capabilities.
  • Advanced Android web browse.

Control flow from App to framework to libraries and back for webkit based
apps


6. Creating Intent Filters:

  • What is an Intent Filter.
  • Parts.
  • Intent Routing.
  • Narrow Receivers.

Using A Content Provider:

  • What is a Content Provider.
  • Making queries.
  • Handling a Content Provider.
  • Building a Content Provider.
  • Create a Provider Class .
    • Content Provider.
    • DatabaseContentProvide.
  • Parts.
  • Properties.
  • Updating the Manifes.

Creating a Service:

  • Parts of a Service.
  • Implementing a Service.
  • Implementing the Interface.
  • Modifying your Manifest file.
  • Invoking a Service.
  • Connecting to a Service.

7. Handling Display, Graphics and Multimedia:

  • Resolution and orientation handling.
  • Resolution options - HVGA, SVGA, WVGA.
  • Resolution and orientation aware Apps Include usage of remote lay outs.
  • Advanced Android Drawable.
  • Hardware Acceleration (HA).
  • Chipset support for HA.
  • Software Acceleration.
  • OpenGLES - Overview and usage.
  • Introduction to Surface Flinger (also touch up on Window Manager).
  • Advanced Android support for OpenGLES 1.0, 2.1.
  • Application Framework for Graphics and Multimedia.
  • Performance bottlenecks for Apps - Graphics and multimedia.
  • Best practices for GUI handling.
  • Graphics and multimedia for game apps.
  • Introduction to Packet Video - Encoders, Decoders (Author engine, decoding engine of PV etc.).
  • Introduction to Audio Flinger, ALSA.

Advanced Android Media API:

  • Playing audio/video.
  • Media recording.

8. Interprocess Communication with AIDL:

  • Overview of Advanced Android Interface Definition Language (AIDL).
  • Defining the interface.
  • Implementing an interface.
  • Exposing the interface.
  • Invoking IPC methods.
  • Parameter passing using Parcelable interfac.

W orking with Threads:

  • Getting through the Handlers.
    • Messages.
    • Runnables.
  • Running in place.
  • Utilities.
  • Design issue.

Debugging and troubleshooting techniques:

  • Tracing memory leaks.
  • Memory usage - Dos and Don’ts.
  • Dalvik VM - Memory handling.
  • Memory constraints for embedded platforms.
  • Debugging through Eclipse the Applications.
  • Various debug tools supplied with the platform and their usage in different problem scenarios. Include the debug tools that come with Linux kernel also.

9. Introduction to Advanced Android NDK:

  • Java Native Interface (JNI).
  • Developing Apps using the NDK.
  • Overview of NDK make files: Advanced Android.mk, Application.mk.
  • Compilation options: controlling CPU Application Binary Interface (ABI).
  • NDK Stable APIs: Logger, ZLib, OpenGL, jnigraphics, OpenSL, native application APIs NDK Lab.

Internals of Advanced Android:

  • Introduction to Linux - architecture, features, libraries, patches, versions.
  • Overview of the Linux Kernel for Advanced Android.
  • Overview of Linux Kernel Patches.
  • Linux Filesystems (YAFFS).

10. Each topic listed will be supported with the hands on programming , corresponding examples.