Android Programming & Applications Development (SF)

NTUC LearningHub

Course introduction

What's In It For Me Learn to design, build and maintain a complete Android_ application. Learn to publish, promote, and profit from your application. Strengthen your Java programming skills. Course Overview NTUC LearningHub Course Code: NICF103 SSG Skillsconnect Code: CRS-Q-0030860-IT This course provides required knowledge and skills to design and build a complete Android™ application. It delivers an extensive training on the main Android SDK components and its interactions. The course is updated to include topics compatible with all Android versions up to Android 7 (Nougat) and the source code updated to API 24. This course is mapped for AND-401 exam. This course will also teach you all the basic techniques that you need to publish, promote, and profit from your application.

Course Benefits

Course Objectives
Upon completing this course, students will be able to:

  • Design and build a complete Android application.
  • Debug and maintain Android applications using different tools and plugins.
  • Thoroughly understand the life-cycle of an Android application and its main components.
  • Use external resources, manifest files, intents and adapters
  • Understand and use all Android persistent storage techniques: Preferences, files, databases, and content providers.
  • Use Android’s background processing techniques.
  • Build location-aware applications using GPS as a location provider and Google Maps.
  • Understand different techniques to monetize your application.
  • Add advertisements without degrading the user experience.
  • Create Android applications with in-app billing.
  • Learn how to gather statistics about your application’s usage.
  • Publish and advertise your application effectively.

Course Pre-Requisites

Candidates must have prior Java Programming experience. This pre-requisite can be fulfilled by attending "NICF – Oracle Certified Associate, Java SE Programmer" course.

Course Outline

Course Duration
5 Days / 38 Hours
Course Outline
Android Framework and Android Studio Introduction

  • Introduction
  • Android Platform ArchitectureLinux KernelHardware Abstraction Layer (HAL)Android Runtime (ART)Native C/C++ LibrariesJava API FrameworkSystem Apps
  • Android Libraries
  • Components of Android Application
  • Types of Android processes and their priorities
  • Pre-requisites for Android Application Development
  • Android Studio
  • Gradle
  • Instant Run
  • Lab 1: Creating Your First Application
AndroidTM SDK Tools and Activity Class
  • Android Project Structure
  • The Android Manifest FileStructure of the Manifest File
  • Android SDK Tools
  • Android Device Monitor
  • Android Debug Bridge (ADB)
  • Batterystats and Battery Historian
  • Emulator ControlsSend/Receive SMSMake CallsUpdate Locations
  • Building Backward-Compatible Android Applications
  • ActivityActivity Life-Cycle Through JavaCreate an Activity
  • Methods to Remember
  • Lab 2: Study Activity Life-Cycle
Fragments, Views, and List View Introduction
  • FragmentsFragments Life-CycleCreating a Fragment Sub-ClassAdding Fragments in ApplicationBackward Compatibility of Fragments
  • ViewsUsing ViewsAdding a View to your application
  • List View and List ActivityUsing a ListActivityAdding ListViewAdd Event to List ItemsSummary
  • Recycler ViewRecyclerView vs ListViewAdding RecylerView
  • Card View
  • Runtime Permissions
  • Methods to Remember
  • Lab 3: Views and Runtime Permissions
Intents, Intent fllters, and Deep Linking
  • Introduction
  • IntentsExplicit IntentsImplicit Intents
  • Native Android™ Actions
  • Data Transfer
  • Intent to Call ActivitiesDirect CallsSub-Activities: Calling Activities for Results
  • Register an IntentFilter
  • Deep LinkingTesting Deep Linking
  • Methods to Remember
  • Lab 4: Creating Constraints Selection Application and Testing Deep Linking
Android Layouts and Custom Views
  • Introduction
  • Views
  • LayoutsLayout PropertiesLoading the Layout from CodeLoading Layout in an ActivityLoading Layout in a FragmentCreating and Editing Layouts in Android Studio
  • Customized Views
  • Modify Existing ViewsStep by StepWhat is in onDraw( )?The full picture
  • ConstraintLayout
  • Lab 5: Custom View, Drawer Layout and Fragmentation Application
Android Resources, Themes, and Material Design
  • Introduction
  • Android ResourcesWhy Using Resources?Adding Resources to your ApplicationUsing ResourcesTypes of Resources
  • Android Themes and StylesCreating Themes
  • Android Material DesignUsing the Material ThemeColour Palette
  • Activity Transitions & Shared Element Transitions
  • Methods to remember
  • Lab 6: To-Do List Application in Material Design
Android UI Dialogs, Menus, and WebView
  • Introduction
  • User Interaction through Messages
  • DialogsDialog Sub-ClassesCreating an Alert DialogCreating a Progress Dialog
  • Activities with Dialog Theme
  • ToastsCustomizing Toasts
  • SnackbarSimple SnackbarCustom Snackbar
  • MenusBuilding a menu from Java codeSub-menusContext MenusAdditional Menu Item OptionsPopup Menus
  • Web View
  • Methods to Remember
  • Lab 7: Wallpaper Application
Android Storage and Background Processing
  • Android Storage Options
  • File I/OIncluding files as resources
  • Shared PreferencesRetrieving Shared PreferencesSave activity State
  • Connecting to the internet
  • Background ProcessingAndroid ThreadingJava ThreadsAsyncTaskAndroid ServicesBackground FragmentsBackground Receivers
  • Lab 8: Quotes Provider Application
Android Storage: SQLite and Content Providers
  • IntroductionSQLite Database in Your ApplicationSQLite LibrarySQLiteOpenHelperSQLite DatabaseCursors
  • Databases in Android
  • Content Providers
  • Native Android Content Providers
  • Custom Content Provider
  • Sync AdaptersIntroductionHow SyncAdapters Work
  • ORMLite
  • Methods to Remember
  • Lab 9: SQLLite Databases and Content Providers
Android Notifications
  • Introduction
  • Creating a Notification
  • Notification ActionsNotification ManagerSteps to create a Simple Notification
  • Expandable NotificationsBig Picture Style NotificationsBig Text Style NotificationsInbox Style Notifications
  • Notification LayoutsBase LayoutExpanded Layouts
  • Notification Priority
  • Notifications with Android SystemLock Screen NotificationsVisibility Options in Lock Screen NotificationHeads-up Notifications
  • New Notification Features of Android 7
  • Lab 10: Implementing Android Notifications
Location Aware Apps Using GPS and Other Providers Introduction
  • Introduction
  • What is GPS and how it works?
  • Other location service providers
  • Methods to capture user location
  • Using Google Maps
  • Setting Geolocation
  • Pins, Layers and custom drawing
  • Reverse Geolocation and Geocoder Class
  • Requesting User Permission for Location Access
  • Testing GPS on Android Emulator
  • Mocking Location on an Emulator
  • Lab 11: Location-Aware Apps Using the GPS and Google Maps
How to monetize your application
  • Different monetization techniques
  • What’s the best technique for your business?
  • Add Advertisements to your application (Google Mobile Ads, InMobi, etc.)
Android Applications with In-App billing
  • Application requirements for in-app billing requirements
  • In-app billing API
  • In-app billing administration
Licensing and Monitoring your Application
  • Google Play Licensing
  • Setting up Licensing
  • Monitoring your app with Google Mobile Analytics
Publishing your Application
  • Methods to publish your application
  • Publishing Process on Google Play
  • Best practices for Releasing your Application
Mode of Assessment
Students must complete a paper-based NICF assessment during class.
Certification Obtained and Conferred by
Awarded NICF Statement of Attainments (SOAs)
Upon completion of the course, students will also be awarded with SOAs from SSG.

Available Course Sessions

Please click here to stay updated on upcoming sessions.

Trainer Profile

NTUC Learninghub Pte Ltd (Executive Arm of NTUC LearningHub)

NTUC LearningHub® employs industry experienced and vendor certified instructors. These instructors are required to achieve sufficient qualifications before leading a class. In addition, we work with partners to deliver the latest course materials and computer facilities so that students can learn critical skills and prepare for the examinations.