Course Details

Java + Android Studio + Eclipse + Apps Inventor
Image

Course Introduction 課程簡介

此課程內容相當豐富。課程主要教授學員Android Apps製作等各種相關技術,課程分為兩部分。

第一部分為基礎部份,由導師引領學員進行一連串的實習, 以認識製作Android Apps各種相關知識。

第二部分為進階部分,學員可觀看由導師預先錄製的視像教學片段, 以了解建構複雜Android Apps各種相關知識。

  • 學習Android Apps的基本架構,資源系統,生命週期及通報機制。
  • 學習Android Apps的介面設計及各種設計元件的使用。
  • 學習如何使用以事件為引發的程式設計觀念 (Event Based Programming)。
  • 學習如何使用本機 SQLite 資料庫存取資料。
  • 學習如何使用後台程式資料庫 MySQL 存取資料。
  • 學習何謂Multitask Programming以及利用多執行緒進行背景運作,例如上下載檔案及音樂。
  • 學習如何使用 Fragments 及 Material Design 新元件去打造更美麗的介面。
  • 學習如何利用電話上的各種感應器去進行不同的活動,如錄音,播歌,攝影,錄像,及定位等等。
  • 學習如何利用Apps Inventor 以砌積木的形式進行Apps製作。
  • 學習 Eclipse 及 Android Studio 兩大開發工具的使用

Java

Java是一種廣泛使用的電腦程式設計語言,擁有跨平台、物件導向、泛型程式設計的特性,廣泛應用於企業級Web應用開發和行動應用開發。

Eclipse

Eclipse 是一個開放原始碼的 Java 開發平台,是傳統Android App開發的首選工具。

Android Studio

Android Studio是一個由Google提供為Android平台開發程式的整合式開發環境 (IDE),未來所有Android Apps將以此為開發標準。

Apps Inventor

Android App Inventor是起先由Google提供的應用軟體,現在由麻省理工學院維護及營運。 它可以讓任何熟悉或不熟悉程式設計的人用圖形化界面來創造Android Apps。

Course Duration 課程時數

42 hrs (18 hrs 面授 + 24 hrs 視像)(學員可於完成課程後 2個月內免費重溫及重看,使學習更具彈性)

Course Objective 課程目標

本課程目的是培訓學員掌握所有Android Apps 的相關技術 ,以打造一個實用的 Apps。

Entry Requirement 入學要求

報讀者無需任何程式設計背景,但對Apps程式設計有興趣請便可報讀

Course Features 課程特點

★ 解說詳細:循序漸進說明各種技術的使用方法。
★ 即時實習:即時實習,導師與學員一起由零開始打造系統。
★ 多元學習:了解不同技術的配搭,因應情況使用不同的技術方案。
★ 視像重溫:部分複雜的課程部分將以視像形式教授,學員可在家重複觀看方便吸收。

Course Content 課程內容

Face to Face Course Outline 面授課程內容 (18 hrs)

第一部分是由富有經驗的導師真人解說(導師曾受教育局委託開辦多個教授中學電腦導師寫apps的課程,有五年以上教導製作apps經驗),帶領學員克服起步時的種種障礙,為期18小時。

Lesson 1:

  • Java Foundation and Environment Setup
  • Environment Setup - Java JDK, Eclipse, Android Studio, Android SDK
  • Introduction to the Eclipse and Android Studio Interface
  • Introducing the Android Apps Project structure and various files usage (XML and Java)
  • Creating a simple Hello World apps using Eclipse and Android Studio
  • Setup the Android Phone Emulator for testing
  • Setup the Physical Device Connection for testing
  • Using Button, Toast, EditText and TextView to show the basics of Event based Programming
  • Creating Alert Dialog Box
  • Exercise: Creating a User Login Form

Lesson 2:

  • Introduction to Activity and its Life-cycle
  • Using Android Logging for debugging
  • Managing Various Resources in Android (String, Images, Layout, Menu, Styles)
  • Layout design using various LayoutManager (LinearLayout, RelativeLayout, TableLayout and FrameLayout)
  • Understanding the Menu System and the Action Bar
  • Use of Common Widgets like ImageView, CheckBox, RadioButton, Spinner
  • Understanding Adapter for Spinner
  • Event Handling usin anonyonmous class
  • Exercise: Creating a Login Form or User Registration Form

Lesson 3:

  • Using SharedPreferences for simple key-value based storage
  • Introducing the Intent system in Android (Explicit and Implicit)
  • Using Explicit Intent to start another Activity, send and receive data
  • Using Implicit Intent to send SMS,call phone and access Internet
  • Introducing the Permission model in Android
  • Requesting Run-time Permissions dynamically
  • Exercise: Creating a Simple Questionnaire or Quizing system

Lesson 4:

  • Using SQLite Database for database storage
  • Creating a student database and adding sample records to the database
  • Using ListView for showing data in Array
  • Using ListView for showing data in SQLite Database
  • Using GridView for showing data with Custom Layout and Adapter
  • Loading Images from various sources (SDCard, Project, Internet)
  • Loading and Handling the Images using Bitmap and Matrix
  • Exercise: Creating a Student Score Report using ListView

Lesson 5:

  • Setup a web server for interacting with the Apps
  • Understanding WebView for presenting web pages
  • Web Server Communication using Background Thread
  • Understanding JSON data format for communications
  • Handling various data format (text, image and JSON data)
  • Downloading text, image and JSON data using Handler
  • Exercise: Creating a News Apps getting information from the Web Server.

Lesson 6:

  • Introduction to Apps Inventor
  • Playing with Apps Inventor to build a login form
  • Playing with Apps Inventor to build the photo taking and drawing apps
  • Overview of Gradle Build System
  • Handling Different Android Devices and Displays
  • Signing and Preparing an Android Application for Release

Online Videos Course Outline 視像課程內容 (24 hrs) - 2個內月無限重複觀看

Foundation: Java Language using Eclipse(03h:27m:56s)

TopicsDuration
Java JDK installation 03m:00s
Setup Environment Variables for Java 03m:18s
Write a Simple Java Program 05m:21s
Compile and Run the Java Program 08m:00s
Java Basics (Program Structure) 06m:43s
Java Basics (Variables) 12m:07s
Java Basics (Decision Making) 03m:44s
Java Basics (Looping) 10m:09s
Java Basics (Methods) 15m:09s
Java Basics (Array for Numbers) 12m:17s
Java Basics (Array for Strings) 09m:15s
Eclipse IDE Installation 03m:01s
Using Eclipse to Write a Simple Java Program 05m:03s
Java Class (Java Class Basic Structure) 06m:06s
Java Class (Constructor Methods) 03m:59s
Java Class (Getter/Setter Methods) 04m:21s
Java Class (Auto Generate Methods) 02m:24s
Object-Oriented Concepts (Inheritance Basics) 02m:24s
Object-Oriented Concepts (Use of Inheritance) 07m:09s
Object-Oriented Concepts (Class with Inheritance) 04m:16s
Object-Oriented Concepts (Further Class Examples) 06m:57s
Object-Oriented Concepts (Array of Objects) 03m:31s
Object-Oriented Concepts (Abstract Class) 13m:31s
Object-Oriented Concepts (ArrayList) 08m:49s
Object-Oriented Concepts (Polymorphism) 05m:48s
Object-Oriented Concepts (Interface) 05m:53s
Object-Oriented Concepts (Use of Interface) 06m:28s
Object-Oriented Concepts (Further Interface Examples) 06m:55s

1 - Getting Started(58m:36s)

TopicsDuration
1 - Java JDK and Android Studio Installation (Free) 16m:40s
2 - Creating an empty project using Android Studio 06m:35s
3 - Understanding the basics project and file structures in Android Project 08m:58s
4 - Creating an Phone emulator for running Apps 05m:29s
5 - Changing the title, content and icon of the App 08m:41s
6 - Debugging Apps (Line Number, Logging, Breakpoint) 03m:24s
7 - Creating an basic project with Fragment to understand its project structure 05m:47s
8 - Learning Auto-Complete, Compiler Error and the output apk file 03m:02s

2 - Activity and LifeCycle(58m:46s)

TopicsDuration
1 - Understanding Android Architecture and Activity LifeCycle (Free) 10m:45s
2 - Demo - Activity Stack 02m:09s
3 - Understanding Android Activity LifeCycle 07m:09s
4 - Demo - Activity LifeCycle 07m:41s
5 - Creating the second Activity 04m:02s
6 - Changing Launcher Activity 02m:56s
7 - Changing the Layout for the Activity 03m:24s
8 - Using Intent to Start Another Actiivty 04m:49s
9 - Use Finish to Pop Off the Current Activity 04m:34s
10 - Passing Data between Activities 03m:49s
11 - Passing Back Data from Called Activity 07m:28s

3 - Layout and UI Components(02h:08m:14s)

TopicsDuration
1 - Introducing UI Components and Resources Files 08m:29s
2 - Understanding the View and View Hierarchy 02m:52s
3 - Use of LinearLayout Manager (Part 1) 09m:28s
4 - Use of LinearLayout Manager (Part 2) 04m:49s
5 - Use of LinearLayout Manager (Gravity) 07m:18s
6 - Use of RelativeLayout Manager 07m:06s
7 - Use of FrameLayout Manager 02m:01s
8 - Use of TableLayout Manager 02m:26s
9 - Use of GridLayout Manager 11m:09s
10 - Demo Use of GridLayout Manager 09m:35s
11 - TextView - Creating by Using Layout Editor 06m:29s
12 - TextView - Creating by Java Code Dynamically (Part 1) 06m:33s
13 - TextView - Creating by Java Code Dynamically (Part 2) 12m:53s
14 - TextView using Resource Management 04m:33s
15 - ImageView - Creating by Using Layout Editor 07m:02s
16 - ImageView - Creating by Using Bitmap 06m:58s
17 - ImageView - Creating by Java Code Dynamically 07m:49s
18 - Button - Creating by Using Layout Editor 10m:44s

4 - Events and Listeners(02h:34m:05s)

TopicsDuration
1 - Event Listener Basics - Button Click Event (Part 1) - Single Button 08m:33s
1 - Event Listener Basics - Button Click Event (Part 2) - Two Buttons 03m:06s
1 - Event Listener Basics - Button Click Event (Part 3) - Anonymous Inner Class 05m:45s
2 - Demo - Adding Images Dynamically using Button Click 22m:57s
3 - EditText - Letting User to Enter Values 08m:41s
4 - EditText - OnFocus Change Event Listener 09m:19s
5 - Other Widgets - ToggleButton, CheckBox, RadioButton, SeekBar, RatingBar, Switch 08m:57s
6 - Other Widgets - Handling the Events for ToggleButton 07m:21s
7 - Other Widgets - Handling the Events for CheckBox 02m:15s
8 - Other Widgets - Handling the Events for RadioButton 02m:22s
10 - Other Widgets - Handling the Events for RatingBar 02m:39s
11 - Other Widgets - Handling the Events for Switch 02m:37s
12 - DateTime Widgets - DatePicker 06m:32s
13 - DateTime Widgets - TimePicker 04m:39s
14 - Dialog Widgets - AlertDialog 14m:41s
15 - Dialog Widgets - DatePickerDialog 15m:25s
15 - Dialog Widgets - TimePickerDialog 06m:05s
16 - Dialog Widgets - Custom Made Input Dialog (Part 1) 09m:27s
16 - Dialog Widgets - Custom Made Input Dialog (Part 2) 04m:46s
16 - Dialog Widgets - Custom Made Input Dialog (Part 3) 07m:58s

5 - Spinner, ListView and GridView(02h:51m:50s)

TopicsDuration
1 - AdapterView - Spinner and Adapter Object (Part 1) - Using XML files 08m:32s
1 - AdapterView - Spinner and Adapter Object (Part 2) - Using Adapter Object 08m:18s
1 - AdapterView - Spinner and Adapter Object (Part 3) - Event Handling 05m:48s
1 - AdapterView - Spinner and Adapter Object (Part 4) - Further Issues 04m:04s
1 - AdapterView - Spinner and Adapter Object (Part 5) - Layout Customization 12m:03s
1 - Demo Use of Customized Spinner with Customized Adapter (Part 1) 11m:54s
1 - Demo Use of Customized Spinner with Customized Adapter (Part 2) 11m:06s
1 - Introducing UI Components and Resources Files 08m:29s
2 - AdapterView - ListView (Part 1) - Basics 12m:06s
2 - AdapterView - ListView (Part 2) - Using ArrayAdapter 10m:40s
2 - AdapterView - ListView (Part 3) - Using Different ChoiceMode 06m:08s
2 - AdapterView - ListView (Part 4) - Using ArrayList to Store Selection 07m:36s
2 - AdapterView - ListView (Part 5) - Using Custom ListView 06m:44s
2 - AdapterView - ListView (Part 6) - Customizing ListView using Shape and Selector 09m:32s
2 - AdapterView - ListView (Part 7) - Customizing ListView using Customized Adapter and Layout 26m:05s
2 - AdapterView - ListView (Part 8) - Using SimpleAdapter and ArrayList 09m:55s
3 - AdapterView - GridView (Part 1) 07m:42s
3 - AdapterView - GridView (Part 2) 05m:08s

6 - Action Bar and Menus(54m:35s)

TopicsDuration
1 - ActionBar - Customizing using Java Codes 11m:22s
2 - ActionBar - Adding DropDown Menu on ActionBar 07m:41s
3 - Menu - Option Menu (Part 1) 13m:54s
4 - Menu - Option Menu (Part 2) 02m:32s
5 - Menu - Context Menu 06m:32s
6 - Menu - Popup Menu 06m:30s
7 - Demo Use of Menu System to Switch Activities 06m:04s

7 - Styles and Themes(36m:51s)

TopicsDuration
1 - Styles and Themes - Change Text, Color, Size using Resources Files 07m:53s
2 - Styles and Themes - Apply Common Styles to different TextViews 06m:08s
3 - Styles and Themes - Apply Themes to Applicaton and Activity (Part 1) 10m:06s
4 - Styles and Themes - Apply Themes to Applicaton and Activity (Part 2) 06m:23s
5 - Styles and Themes - Use Custom Fonts for the content 06m:21s

8 - Drawables and Bitmap(40m:23s)

TopicsDuration
1 - Drawable - Using Resources, Bitmap and Drawable to load Images 10m:01s
2 - Drawable - Creating a Bitmap Drawable 10m:10s
3 - Drawable - Creating a LayerList Drawable 04m:19s
4 - Drawable - Creating a Transition Drawable 03m:54s
5 - Drawable - Creating a Shape Drawable 07m:41s
6 - Drawable - Creating a StateList Drawable 04m:18s

9 - Fragments and Multipane Layouts(47m:47s)

TopicsDuration
1 - Fragment Basic Concepts 03m:16s
2 - Static Fragment - Adding Static Fragments to Activity 05m:14s
3 - Dynamic Fragment - Building Dynamic User Interfaces (Part 1) 08m:08s
4 - Dynamic Fragment - Building Dynamic User Interfaces (Part 2) 09m:17s
5 - Fragment Communication - Activity Calling Fragment 12m:28s
6 - Fragment Communication - Fragment Calling Activity 09m:24s

10 - Animation and Transition(01h:04m:38s)

TopicsDuration
1 - FrameAnimation - Play animation by looping static images 10m:37s
2 - TweenAnimation - Play animation by calculating state changes (Part 1) 11m:47s
3 - TweenAnimation - Play animation by calculating state changes (Part 2) 10m:25s
4 - PropertyAnimation - Play animation by altering the properties (Part 1) 07m:16s
5 - PropertyAnimation - Play animation by altering the properties (Part 2) 06m:35s
6 - Transition - Change Scenes by Animation (Part 1) 10m:04s
7 - Transition - Change Scenes by Animation (Part 2) 07m:54s

11 - Touch and Gestures(34m:45s)

TopicsDuration
1 - Touch - Detecting Multi-Touch and Resizing Image (Part 1) 06m:53s
2 - Touch - Detecting Multi-Touch and Resizing Image (Part 2) 07m:33s
3 - Gesture - Detecting Gesture and Use Fling to change screens (Part 1) 11m:44s
4 - Gesture - Detecting Gesture and Use Fling to change screens (Part 2) 08m:35s

12 - Working with Files and Preferences(01h:21m:16s)

TopicsDuration
1 - Using SharePreferenes to Save Key and Value Pairs (Part 1) 08m:41s
2 - Using SharePreferenes to Save Key and Value Pairs (Part 2) 12m:30s
3 - Using AssetManager to read Image and Text Files 13m:02s
4 - Saving and Reading Files in Internal File System (Part 1) 12m:47s
5 - Saving and Reading Files in Internal File System (Part 2) 08m:50s
6 - Saving Files in External SD Card (Part 1) 07m:16s
7 - Saving Files in External SD Card (Part 2) 08m:35s
8 - Request runtime permission to save file to SDCard 09m:35s

13 - Working with Databases(58m:59s)

TopicsDuration
1 - Creating SQLite Database and Tables (Part 1) - Creating Database 11m:00s
2 - Creating SQLite Database and Tables (Part 2) - Using Command to Interact with Database 09m:20s
3 - Creating SQLite Database and Tables (Part 3) - Using Cursor to Show Data 10m:10s
4 - Creating SQLite Database and Tables (Part 4) - Using ListView and SimpleCursorAdapter 06m:57s
5 - Creating SQLite Database and Tables (Part 5) - Using SQLiteOpenHelper 13m:20s
6 - Creating SQLite Database and Tables (Part 6) - Using Customized CursorAdapter 08m:12s

14 - Intents and Broadcast Receiver(01h:12m:29s)

TopicsDuration
1 - Implicit Intent - Open Web Page and Dial Phone 10m:54s
2 - Implicit Intent - Call Phone, Run-Time Permission and Send SMS 09m:40s
3 - Intent Receiver - Adding Intent Filter and Web View to display web request (Part 1) 07m:50s
4 - Intent Receiver - Adding Intent Filter and Web View to display web request (Part 2) 09m:26s
5 - Broadcast Intent - Creating a Broadcast Sender and a Broadcast Receiver (Part 1) 11m:15s
6 - Broadcast Intent - Creating a Broadcast Sender and a Broadcast Receiver (Part 2) 05m:50s
7 - System Broadcast - How to receive System Events 06m:06s
8 - Notification - Build a Notification with Pending Intent 11m:28s

15 - Async Task and Handlers (01h:32m:30s)

TopicsDuration
1 - Threading - Basic Concepts and Applications 09m:16s
2 - Threading - Creating a new Thread for long running tasks 03m:26s
3 - Handler - Passing Message from Thread to Handler 11m:26s
4 - ProgressBar - Using Handler to update progress 17m:06s
5 - AsyncTask - Basic Concepts 07m:06s
6 - AsyncTask - Using AsyncTask for long running tasks 14m:50s
7 - Using Handler to download image from web server 17m:20s

16 - Services and IntentServices (48m:10s)

TopicsDuration
1 - Services - Basic Concepts 06m:57s
2 - Services - Understanding Services Concept and LifeCycle 13m:31s
3 - IntentServices - Understanding IntentServices Concept and LifeCycle 07m:55s
4 - BindServices - Understanding BindServices Concept and LifeCycle (Part 1) 09m:55s
5 - BindServices - Understanding BindServices Concept and LifeCycle (Part 2) 09m:52s

17 - Multmedia (Photo, Video, Music) (01h:02m:40s)

TopicsDuration
1.1 - Playback Video using VideoView and MediaController 07m:49s
2.1 - Record Video (Preparing the recording environment) 04m:26s
2.3 - Record Video (Create an Intent for Video Capture) 03m:11s
2.4 - Record Video (Show the Video Location after recording) 02m:16s
2.5 - Record Video (Playback the recorded video) 03m:52s
3.1 - Request Runtime Permission (Set the environment) 02m:06s
3.2 - Request Runtime Permission (Check permission granted or not) 03m:08s
3.3 - Request Runtime Permission (Request permission and check result) 04m:23s
4.1 - Record and Playback Audio (Set the environment) 07m:39s
4.2 - Record and Playback Audio (Check Microphone Availability) 03m:03s
4.3 - Record and Playback Audio (Set file path and permissions) 06m:54s
4.4 - Record and Playback Audio (Add the code for recording sound) 03m:33s
4.5 - Record and Playback Audio (Add the code to playback sound) 03m:49s
5.1 - Taking Photo using Intent 06m:31s

18 - Material Design (01h:29m:54s)

TopicsDuration
1.1 - Understanding FAB and Snackbar 04m:04s
1.2 - Customizing FAB to add new items to ListView 10m:09s
1.3 - Customizing Snackbar to remove items from ListView 04m:34s
2.1 - Understanding TabLayout and ViewPager 05m:40s
2.2 - Adding TabLayout and ViewPager 07m:48s
2.3 - Creating Adapter for the ViewPager to display Fragment 07m:47s
2.4 - Synchronizing TabLayout and ViewPager movements 03m:40s
2.5 - Customizing TabLayout and ViewPager 04m:27s
3.1 - Introduction to RecyclerView and CardView 07m:35s
3.2 - Preparing the Project for RecyclerView and CardView 03m:30s
3.3 - Design the CardView Layout for each Item 05m:55s
3.4 - Creating the RecyclerAdapter and ViewHolder 12m:11s
3.5 - Finishing the RecyclerView and CardView 02m:26s
3.6 - Customizing the RecyclerView by adding Event Listener 02m:22s
3.7 - Customizing the CardView background colors and heights 03m:44s
3.8 - Testing out the different LayoutManagers for RecyclerView 04m:02s

Featured Video Demos

Android Demo: Drawable 1m:21s

Android Demo - Video Streaming 1m:25s

Android Demo - TabLayout and ViewPager 1m:20s

Android Demo - RecyclerView and CardView 1m:38s

Android Demo - Fragments 1m:12s

Android Demo - FAB and Snackbar 1m:19s

Navigation

Social Media

IT Design