Android 8 Java Applications

This course focuses on software applications development for the android platform using the Java programming language. This course includes 140 academic hours organized in four parts, that take place in class, and 640 academic hours (and beyond) that take place at home. The course was developed for people with background in software development. The course doesn’t assume any previous knowledge in OOP. The training material is organized in online courses available through the elearning platform we use during the course. If you are a bit confused and not sure whether this course is for you or maybe you should take the HTML5 Cross Platform Mobile applications course it is highly recommended that you watch the Android Jump Start video clip. This video clip overviews today approaches in software applications development for mobile telephones in general and focuses on the android platform.


Programming in Java (First Part)
This part covers all topics we must be familiar with when writing code in Java for the Android platform. We focus on OOP and especially the use of Inner Classes. During this part we also start with a short warm up for the Android platform and start writing our first simple applications. (30 academic hours)

Fundamental Topics (Second Part)

This part focuses on the main components each android application is composed of, including activities, services, broadcast receivers and content providers. The pace in beginning of this part is a bit slower comparing with the next parts of the course in order to allow the students getting the required solid understanding in the Java programming language. (65 academic hours)

Android Car (Third Part)

This part focuses on developing android applications for Android Car. During this part we will learn how to develop today most common types of applications for cars, messaging apps and audio apps. (5 academic hours)

Android TV (Fourth Part)

This part focuses on developing android applications for Android TV. During this part we will learn how to develop applications that can be installed on the TVs that use the Android TV operating system, how to create optimized UI for this new type of devices and how to exploit the unique capabilities of this new platform. (5 academic hours)

Android Wear (Fifth Part)

This part focuses on developing applications for Android Wear. During this part we will learn how to develop applications that initiate notifications on wearable devices, how to develop wearable applications, how to create the wearable user interface, how to sync the data between the wearable applications and the application running on the mobile telephone and how to create watch faces. (20 academic hours)

Advanced Topics (Sixth Part)

This part covers advanced topics their understanding is based on a solid understanding for the android application components and the android platform in general. (10 academic hours)

Analysis & Design using UML (Seventh Part)

This part covers the usage of UML, SysML and SoaML in the process of applications development for the android platform. We go over the available diagrams and their notation and we do it by going through practical examples in the context of the android platform. (5 academic hours)

Meeting

Topic

Online Course

1

Procedural Programming

Developing Java SE Applications
Let’s Start
The Basic

2

Object Oriented Programming

Developing Java SE Applications
Introduction to OOP
Object Oriented Programming

3

Arrays & Strings

Developing Java SE Applications
Arrays & Strings

4

Inheritance

Developing Java SE Applications
Inheritance

5

Inner Classes


Exceptions

Developing Java SE Applications
Inner Classes

Developing Java SE Applications
Exceptions Handling

6

Threads


I/O Streams


Generics


Collections

Developing Java SE Applications
Threads

Developing Java SE Applications
I/O Streams

Java SE Generics Introduction
Introduction

Java SE Collections Framework
Introduction

7

Activities

Android Fundamentals
Introduction

8

Resources

Android Fundamentals
Resources (including parsing xml using an event based parser)

9

Intents

Android Fundamentals
The Intent Concept

10

User Interface

Android Fundamentals
User Interface Controls

11

User Interface

Android Fundamentals
Layout Managers
Menus & Dialogs
Device Rotation
Localization
Basic Graphics
Loaders
Sensors
Speech Input  
Text to Speech

Vibration
Styles
Camera

12

Life Cycle



Android Studio

Android Fundamentals
SharedPrefereces
Activity Life Cycle

Android Studio Basics
Introduction
Migrating from Eclipse
Lambda Expressions
Debugging
Code Layout

13

Fundamental Topics

Android Fundamentals
Touch Screen
Runtime Environment (Dalvik + Art)
Development Tools
Debugging

Adapters
Files
OpenGL Graphics
Media Framework
Customized Views
Graphics Animation
Web View

14

Web Services
Threads

Android Fundamentals
Android Threads
Web Services (including parsing xml using a dom parser)

15

Database
Security
Memory
Services

Android Fundamentals
SqliteDatebase
Android Security Model
Memory Management

Android Services

16

Content Providers

Android Fundamentals

17

Broadcast Receivers

Telephony

Content Provider

Alarm Manager

Android Fundamentals
Broadcast Receivers

Telephony
Java Language
SMS Messages
Content Provider

AlarmManager Basics
Introduction
Jump Start

18

User Interface

Android Fundamentals
Live Wallpapers

App Widgets Development
Introduction
Basic App Widget
Configuration Activity
Design Guidelines

19

User Interface

Android  Unified UI
Activity Fragments
User Interface Widgets
Action Bar
User Notifications
Drag & Drop

20

Camera
WiFi
Search
Bluetooth
Networking

Android Fundamentals
Camera
Android Search
Bluetooth
WiFi Connectivity
Networking

21

Android Car

Android Car Fundamentals
T.B.A.

22

Android TV

Android TV Fundamentals
T.B.A.

23

Android Wearable

Android Wearable Basics
T.B.A.

24

Android Wearable

Android Wearable Basics
T.B.A.

25

Android Wearable

Android Wearable Basics
T.B.A.

25

Android Wearable

Android Wearable Basics
T.B.A.

26

In App Billing



Analytics



WiFi Direct




Near Field Communication  

Google inApp Billing Basics
Introduction
Jump Start

Google Analytics for Android
Introduction
Jump Start

WiFi Direct Basics
Introduction
The Receiver
Wrap Up as Application

Near Field Communication
Introduction
Jump Start
Manifest File
Intent Dispatching System

27

Testing



Robotium



Renderscript



Google Cloud Messaging



Input Method Framework

Instrumentation Framework
Introduction
Jump Start

Robotium Basics
Introduction
Jump Start


Rendering Basics
Introduction
Jump Start  

Google Cloud Messaging Basics
Introduction
Jump Start

Input Method Framework Basics
Introduction
Jump Start

 28

Applications Analysis & Design

UML 2.X Fundamentals
Introduction
General Guidelines
Basic Elements
Use Case Diagram
Class Diagram
Activity Diagram
Deployment Diagram
Package Diagram
Object Diagram
UML Tools

SysML Fundamentals
Introduction
System Modeling
Requirements Diagrams

SoaML Fundamentals
Introduction
Notation

October 10th 2014:

The Android Studio Basics topic was added.

January 14th 2015:

Covering Art in addition to Dalvik VM.

February 5th 2015:

Covering Android TV instead of Google TV.

May 5th 2015:

The ‘AlarmManager Basics’ topic was added.

July 19th 2015:

The description for what we learn in topics ‘web services’ and ‘resources’ was updated in order to clarify that we cover the use of XML in this course.

October 25th 2015:
Three new parts were added: Android Car, Android TV and Android Wearable. The advanced topics allocated hours becomes smaller and we will cover these advanced topics in overview level. Less hours will be allocated for the basic topics. We will focus on the more important basics topics, including activities, services, broadcast receivers and content providers.