Mit Google Docs veröffentlicht
android_2015_03
Automatisch alle 5 Minuten aktualisiert

Android 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. (85 academic hours)

Advance Topics (Third 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. (20 academic hours)

Analysis & Design using UML (Fourth 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)

Date

Topic

Online Course

Comments

1

11/3/2015

Procedural Programming

Developing Java SE Applications
Let’s Start
The Basic

0. please watch the video clip that overviews
טיפים ללימוד תיכנות

1. towards next meeting please watch the oop introduction shown at
http://www.phpbook.co.il/wordpress/?p=144.

2. towards next meeting please watch all video clips from
www.javabook.co.il in the following topics:
הקדמה
יסודות השפה
מחלקות ואובייקטים

3. please complete the assignments (just level 1 and 2) in topic ‘the basics’. please submit the solutions at haim.michael.homework@gmail.com

2

18/3/2015

Object Oriented Programming

Developing Java SE Applications
Introduction to OOP
Object Oriented Programming

1. please get ready towards next meeting by watching the video clips in arrays & strings topic at www.javabook.co.il.
מערכים ומחרוזות תווים

2. please complete all assignments in topic 5 (‘object oriented programming’). make sure you complete the assignments in according with their difficulty level.

3

25/3/2015

Arrays & Strings

Developing Java SE Applications
Arrays & Strings

1. towards next meeting please watch the video clips in javabook.co.il about הורשה וממשקים

2. please complete all assignments in arays&strings topic (level 1,2 only) and submit them at
haim.michael.homework@gmail.com.

3. towards next meeting please complete the software installation required for our course:
a. install android studio.
b. install the adt plugin for eclipse in order to allow using the eclipse for developing android applications.

4. find the required driver for your android device and install it on your pc.

5. please complete the tricky questions in topics ‘object oriented programming’:
http://www.zindell.com/books/prep/q3.pdf 
and in ‘arrays & strings’:

http://www.zindell.com/books/prep/q4.pdf 

answers at:
http://www.zindell.com/books/prep/a3.pdf 
http://www.zindell.com/books/prep/a4.pdf 

4

1/4/2015

Inheritance

Developing Java SE Applications
Inheritance

1. towards next meeting please watch the video clips in hebrew about inner classes. you can find them at http://www.javabook.co.il look for מחלקות פנימיות title.

2. towards next meeting please complete all tricky questions in topic ‘inheritance’:
http://www.zindell.com/books/prep/q5.pdf 
answers at:
http://www.zindell.com/books/prep/a5.pdf 
3. please complete all assignments in topic ‘inheritance’ (in abelski website) and please submit them at
haim.michael.homework@gmail.com.

4. please watch the video clips (in hebrew) about exceptions handling. the ones you can find at
http://www.javabook.co.il.

5

29/4/2015

Inner Classes


Exceptions

Developing Java SE Applications
Inner Classes (excluding static inner classes)

Developing Java SE Applications
Exceptions Handling

1. in ‘inner classes’ topic please complete the fly box exercise and the comparator anonymous inner class.

2. in ‘exceptions handling’ topic please complete all assignments.

3. towards next meeting please watch the following clips:

threads:
http://javabook.co.il/wp/?p=108 
http://javabook.co.il/wp/?p=111 

streams:
http://javabook.co.il/wp/?p=156 

generics:
http://javabook.co.il/wp/?p=297 

collections:
http://javabook.co.il/wp/?p=299 
http://javabook.co.il/wp/?p=302 

http://javabook.co.il/wp/?p=304 

for those who want to go beyond the level we reach in class i recommend on watching the following additional video clips:

threads:
https://www.youtube.com/watch?v=7e81NLfsEX8 
https://www.youtube.com/watch?v=JDGSXJElOIQ 
https://www.youtube.com/watch?v=S6HZWbS2xWE 
https://www.youtube.com/watch?v=kwHgmf75ZTg 
https://www.youtube.com/watch?v=lm5RoQ40mzY 
https://www.youtube.com/watch?v=SuaJCTVIMCY 
https://www.youtube.com/watch?v=gZ6Rl9qyHxM 
https://www.youtube.com/watch?v=1yaf_dLAVck 

streams:
https://www.youtube.com/watch?v=pTNnHtoGtIg 
https://www.youtube.com/watch?v=ENOuH-O7HZs 

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

Developing Java SE Applications
Inner Classes (static inner classes)

1. in generics topic (introduction) please complete the following assignments:
simple generics sample
simple linked list
address book

2. in collections topic(introduction) please complete the following assignments:
simple for each
simple iterator
students comparator

3. in collections topic (map) please complete:
simple hashmap assignment

4. in i/o streams please complete the following assignments:
file length
file delete
file exist
simple list
reverse order copy
You can learn about the File class using the video clip at
http://javabook.co.il/wp/?p=284 

5. in threads please complete the following assignments:
left right threads
bonga kapona threads

6. towards next meeting please try to follow the clip at
http://androidbook.co.il/wordpress/?p=26 and write your first android application.Make an effort to do it twice. We want to master both the Android Studio (IntelliJ) and the Eclipse IDE.

7. towards next meeting please go over the slides at
http://www.abelski.com/courses/android/introduction.pdf 

8. i also recommend on bringing your android devices and try running your apps on them.

9. please go over all topics we covered in our first six meetings and please come ready with specific questions about those topics. If there is a topic for which a video clip can assist please let me know.

7

13/5/2015

Activities

Android Fundamentals
Introduction

1. towards next meeting please get ready for the resources topic:
a. please watch the following video clips in www.androidbook.co.il:
http://androidbook.co.il/wordpress/?p=28 
http://androidbook.co.il/wordpress/?p=33 

b. please watch the video clips (in english) their links were placed inside the slides about resources. http://www.abelski.com/courses/android/resources.pdf 

2. towards next meeting please complete and submit (at
haim.michael.homework@gmail.com) the following assignments (.java and .xml files are sufficient):
The Build Version
Device ID Assignment
Minimum SDK Version
Lotto Numbers
Simple Calculator (i)

(i) before doing this assignment please watch the video clips at
http://androidbook.co.il/wordpress/?p=60 
http://androidbook.co.il/wordpress/?p=62 
http://androidbook.co.il/wordpress/?p=64 

8

27/5/2015

meeting till 2215

Resources

Android Fundamentals
Resources

1. towards next meeting please watch the video clips (in hebrew) about intents at www.androidbook.co.il.

2. please complete the ‘road prayer’ assignment.

3. please complete the ‘simple countries list’ assignment.

4. please complete the ‘android logo in webview’ assignment. if you don’t have any clue about html please watch the video clip at
https://www.youtube.com/watch?v=i_GUkjBiUWw. if you don’t have any clue about displaying an image please watch the video clip at http://www.htmlbook.co.il/wp/?p=117.

9

3/6/2015

meeting till 2215

please note that meeting on 10/6/2015 won’t take place

Intents

Android Fundamentals
The Intent Concept

1. towards next meeting please complete assignments: ‘phone number calling’, ‘mambo sms’ and ‘from one activity to another’.

2. try to complete phase 1 in the ‘lotto numbers’ tiny project.you can learn about sharedpreferences at
http://www.abelski.com/courses/android/shared.pdf. we will explain it (anyway) next meeting).

10

17/6/2015

User Interface

Android Fundamentals
User Interface Controls
Intents (Tasks)

  1. please complete the following assignments in the ‘User Interface Controls’ topic:
    a. Auto Complete Country
    b. Languages Multi Auto Complete
    c. ListView of System Properties
    d. Installed Applications Packages
    e. Main Menu Activity List

11

24/6/2015

User Interface

Android Fundamentals
Layout Managers
Shared Preferences (part 1)

1. Towards next meeting please complete phase #2.5 in the ‘lotto numbers’ tiny project.

2. Towards next meeting please complete the following assignments:
a. ‘Simple Working Calculator’ assignment.
b. ‘Simple EditText Gravity and Layout Weight’.

12

1/7/2015

User Interface

Android Fundamentals
Menus & Dialogs
Customized Views
Localization

1. towards next meeting please watch the video clip that explains the android activity life cycle at https://www.youtube.com/watch?v=510bmOrwvmU 

2. You should complete the assignments in Menus & Dialogs.

3. towards next meeting please watch the short video about lambda expression at
http://javabook.co.il/wp/?p=637.

13

8/7/2015

Life Cycle







Android Fundamentals
Activity Life Cycle  (video)
Basic Graphic  (video)
Graphics Animation (video)

Device Rotation  
Touch Screen  (no video)
Activity Data (video)

  1. please complete the camera activity assignment in activity data topic.

14

15/7/2015

Fundamental Topics  






Android Fundamentals
SharedPrefereces
Runtime Environment (Dalvik + Art)
Debugging
Development Tools
Files

Adapters

  1. please complete phase #4 in the lotto numbers tiny project.

15

22/7/2015

User Interface


Android Fundamentals
OpenGL Graphics
Media Framework
Web View

1. please execute the media player code sample (from the slides) on your mobile telephone.

2. please develop a simple mp3 player that is capable of playing songs from a list (of classic music you can find for free on the web)  the application includes.

3. please complete tiny project ‘tel-aviv tourist guide’.

16

29/7/2015

Web Services
Threads


Android Fundamentals
Android Threads
Web Services
DOM Fundamentals
Overview

Nodes

Java SE Core Web Services

Java API for XML Processing




1. towards next meeting please complete phases 1 & 2 in exchange rates tiny project.

17

5/8/2015

Database
Security
Memory
Services

Android Fundamentals
SqliteDatebase
Android Security Model

1. start working on passwords on-going project and complete following phases:
0, 2, 3(without encryption)

18

12/8/2015

Content Providers



Android Fundamentals
Content Provider
Memory Management


1. towards next meeting please go over the code sample for ‘android remote service’ together with watching the video clip at https://www.youtube.com/watch?v=Fdk2pHU0o9c.

2. please complete content provider phase #2.5.

19

19/8/2015

Broadcast Receivers
Telephony





Android Fundamentals
Android Services (local)
Broadcast Receivers
Android Services (remote)
SMS Messages

1. execute the code sample for broadcast receiver (the sample for receiving sms message in a broadcast receiver).

2. pls complete the ‘sms to voice’ tiny project.

3. in android services please complete the ‘Currency Exchange Rate Remote Service‘ assignment.

20

26/8/2015

Camera
User Interface







Android Fundamentals
Sensors
Speech Input  
Vibration
Styles
Camera

Java Language

Text to Speech
Telephony

1. you should complete the ‘light sensor’ tiny project (all phases).

2. you should complete the ‘list of sensors’ tiny project (phase 1 only).

21

2/9/2015

please note that meeting on 9/9/2015 won’t take place.

User Interface








Android Fundamentals
Live Wallpapers

App Widgets Development
Introduction
Basic App Widget
Configuration Activity
Design Guidelines

1. please complete phases 4 and 5 in ‘currency exchange rates’ project.

22

16/9/2015

User Interface






Android  Unified UI
Activity Fragments
User Interface Widgets
Action Bar
User Notifications

1. in the Lotto Numbers tiny project please complete phases #4 #5 #6.

23


7/10/2015

Camera
WiFi
Search
Bluetooth
Networking

Android Fundamentals
Android Search
Bluetooth
WiFi Connectivity
Networking + Networking Slides @
http://www.abelski.com/courses/j2se_intro/networking.pdf 

  1. please complete the ‘corporate chat’ tiny project (till phase 3).
  2. please complete the assignments in the bluetooth topic.

24

21/10/2015

Material Design





Android Studio







Android TV








Material Design
Introduction
Basics
Material Theme
UI Widgets

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


Android TV Basics
Introduction
Jump Start

UI Design Guidelines




  1. please complete phase #7 in lotto numbers application tiny project.
  2. please complete phase #6 in currency exchange rate tiny project.

25

28/10/2015

In App Billing



WiFi Direct




Near Field Communication  

Google inApp Billing Basics
Introduction
Jump Start

WiFi Direct Basics
Introduction
The Receiver
Wrap Up as Application

Near Field Communication
Introduction
Jump Start
Manifest File
Intent Dispatching System

26

4/11/2015

Google Cloud Messaging



Location

Google Cloud Messaging Basics
Introduction
Jump Start


Android Fundamentals

Location Based Services

1. Develop a simple application that displays google map on the device.

27

11/11/2015

Android Fundamentals


Alarm Manager



Rendering Script



Android Fundamentals
Loaders

Alarm Manager Basics
Introduction
Jump Start

Rendering Basics
Introduction
Jump Start  

  1. please complete phase #7 in the Currency Exchange Rates tiny project.

28

18/11/2015

Testing



Robotium



Analytics



Input Method Framework




Applications Analysis & Design

Instrumentation Framework
Introduction
Jump Start


Robotium Basics
Introduction

Google Analytics for Android

Introduction
Jump Start

Android Fundamentals
Input Method Framework

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.