Full program description

NICF – Android Programming & Applications Development

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 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.

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.

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.

Funding Information

  • SSG Funding

​​This course is aligned to the National Infocomm Competency Framework (NICF) and accredited by SSG with Cat-B Funding (PME Level).

Eligible Singapore Citizens can use their SkillsFuture credit to offset course fee payable after SSG funding.

Price

Course Fee with SSG Cat-B funding

Individual Sponsored

Company Sponsored

w/o GST

w GST

Non-SME

 

SME

 

w/o GST

w GST

w/o GST

w GST

Original Course Fee

$2,950.00

$3,156.50

$2,950.00

$3,156.50

$2,950.00

$3,156.50

Singapore Citizens & PRs aged 21 years and above

$2,380.00

$2,586.50

$2,380.00

$2,586.50

$1,050.00

$1,256.50

Singapore Citizens aged 40 years and above

$1,050.00

$1,256.50

$1,050.00

$1,256.50

$1,050.00

$1,256.50

Singapore Citizens aged 35 years and above who are not earning more than $2,000 per month (WTS Scheme)

$147.50

$354.00

$147.50

$354.00

$147.50

$354.00

Remarks:

Individual Sponsored

  • Eligible Singapore Citizens can use their SkillsFuture Credit to offset course fee payable after funding.
  • Eligible Singapore Citizens can use their PSEA funds to offset course fee payable after funding.

Company Sponsored

  • Absentee Payroll claimable by SMEs: Up to 80%of hourly basic salary capped at $7.50/hr
  • Absentee Payroll claimable by Non-SMEs: Up to 80% of hourly basic salary capped at $4.50/hr
  • Absentee payroll claimable by companies (SMEs and Non-SMEs) sponsoring candidates under WTS Scheme: Up to 95% of hourly basic salary (no dollar cap)

Terms and conditions apply. NTUC LearningHub reserve the right to make changes or improvements to any of the products described in this document without prior notice.

Prices are subject to other LHUB miscellaneous fees

 

NICF103