Mobile Application Development (Android)

Technology stack needed for android apps development

Native toolkits

  • Android Sudio (Android): Also based on IntelliJ IDEA, there is Android Studio. Android Studio contains Gradle build support, Lint tools, Pro-Guard app-signing tools and template-based wizards for common application components. Currently, Android Studio can be downloaded free as an early bird version.
  • Android Developer Tools for Eclipse (Android): With the help of the Android Developer Tools (ADT) plugin, Eclipse gains full support for Android app development. Besides offering Android-specific coding support, ADT lets developers use various on-device debugging tools, a graphical UI builder, emulators or fully scriptable test automation support. The ADT plugin is free.

Hybrid frameworks & runtimes

  • Adobe PhoneGap / Apache Cordova (cross-platform, hybrid): Apache Cordova is an open-source framework to run HTML/JavaScript based applications inside a special native container on the mobile device. Native device functionality is exposed via JavaScript APIs and HTML based applications can thus access device specific functionality like sensors or camera. PhoneGap uses Cordova as its core and lets developers even build their applications in the cloud without the need of installing a native SDK. Basic PhoneGap functionality and Apache Cordova are free of charge.
  • Adobe Flex (cross-platform, app engine): Besides PhoneGap, Adobe also offers Flex for creating mobile applications. Apps can be developed using Adobe Flash Builder and can access native device capabilities. Flash Builder assists the development process with code templates and generation, signature tooling and debugging support. Flash Builder Premium is available for Mac OS and Windows for $699.

HTML 5 & JavaScript based frameworks

  • jQuery Mobile: jQuery Mobile is a JavaScript framework for creating touch enabled HTML5 websites. The sites are automatically responsive and can be used on broad range of phones and tablets. jQuery Mobile is open source and free to use.
  • Sencha Touch: Similar to jQuery Mobile, Sencha Touch offers a wide range of ready-to-use HTML widgets to create complete HTML5 applications. Sencha is focused on high-performance and strives to deliver native user-experience. The pure Sencha Touch framework is free whereas license fees for the Sencha Touch bundle including standard support start from $695.
  • Dojo Mobile: The Dojo toolkit is a MVC framework including data binding to create mobile apps. It comes with various pre-defined widgets like sliders or switches and includes theming for popular mobile platforms to provide native look and feel. It can be used with PhoneGap to package an application and publish it in the app stores. Using Dojo is free.

Cross-compilation & generating

  • Xtend (Android): Xtend is a Java dialect which compiles to Java source-code. Include generation features let developers create applications for the Android platform without the need for boiler-plate code.
  • Apportable  Developers can write their applications in Objective-C for iOS and cross-compile them to Android with Apportable. Apportable does not use any virtual machines or emulator but generates native machine code for Android devices. A limited set of functionality can be used for free, full feature sets must be purchased on a yearly basis.

a) This course is specially designed to provide technical knowledge and skills to cope with the requirement of Android Developer occupations of the Mobile sector. The course will be implemented to ensure at least 80% of total contact hours on practical/hands on skills training or practice and 20% trade/ occupations related theory including OHS and soft modules;

b) The course is designed to enable trainees to acquire a range of technical and vocational, practical, personal and organizational skills valued and utilized both within and beyond the workplace;

c) The course is designed to meet the required competencies of the occupations needed in the labor market in and outside the country;


Download This Course Outline

  • Android Overview & Quick Start

  • Main Building Blocks

  • Java Basics

    • Create hello world application in java
      Viewing Completed Lesson
    • Data types in Java
      Viewing Completed Lesson
    • Methods in java
      Viewing Completed Lesson
    • See the list of number in display
      Viewing Completed Lesson
    • Understand basic anatomy of a java program for android application
      Viewing Completed Lesson
    • Understand conditional statement, looping
      Viewing Completed Lesson
    • Work with java variables: integer, string, double
      Viewing Completed Lesson
  • OOP Basics

    • Create a class with the collection of another class in its field
      Viewing Completed Lesson
    • Define association relationship
      Viewing Completed Lesson
    • Define static class and method from real life example
      Viewing Completed Lesson
    • Encapsulate your data and its functionality
      Viewing Completed Lesson
    • Keep some field, property, method inside a class
      Viewing Completed Lesson
    • Understand the essence of inheritance relationship
      Viewing Completed Lesson
  • Android User Interface

    • Design a simple activity layout for some basic user operation
      Viewing Completed Lesson
    • Design UI with Fragments and ActionBar
      Viewing Completed Lesson
    • Familiar with UI Widgets
      Viewing Completed Lesson
    • Understand View and Layout
      Viewing Completed Lesson
    • What is activity life cycle
      Viewing Completed Lesson
  • SQLite Database

    • Create a table in SQLite
      Viewing Completed Lesson
    • Doing CRUD operation in database
      Viewing Completed Lesson
    • How to manage SQLite database
      Viewing Completed Lesson
    • Overview on SQLite and Database design
      Viewing Completed Lesson
    • Save and select data from database using Android Application
      Viewing Completed Lesson
  • Broadcast receivers

    • How to start a service by using broadcast receiver
      Viewing Completed Lesson
    • Receive an event
      Viewing Completed Lesson
    • Start a service
      Viewing Completed Lesson
    • Understand event receiving.
      Viewing Completed Lesson
  • Services

    • Generate notification using service
      Viewing Completed Lesson
    • How to play music as a background service
      Viewing Completed Lesson
    • Implement different types of service
      Viewing Completed Lesson
    • Lifecycle of services
      Viewing Completed Lesson
  • Content Providers

    • How to create content provider
      Viewing Completed Lesson
    • Pass data from one process to another
      Viewing Completed Lesson
    • Simplify database operation
      Viewing Completed Lesson
    • Use content provider
      Viewing Completed Lesson
  • APIs

    • Access call state
      Viewing Completed Lesson
    • Access phone call state
      Viewing Completed Lesson
    • Drawing routes on Map
      Viewing Completed Lesson
    • Finding users location
      Viewing Completed Lesson
    • Introduction to sensor
      Viewing Completed Lesson
    • Maps issues
      Viewing Completed Lesson
    • Retrieve telephony network information
      Viewing Completed Lesson
    • Understand Location API
      Viewing Completed Lesson
    • Working with Map API
      Viewing Completed Lesson