Diploma in Mobile Apps Development
(iPhone + Android)


JAVA, KOTLIN, FIREBASE, ANDROID STUDIO, SWIFT, OBJECTIVE-C, XCODE

課程介紹

本課程將教授學員由零開始學習建立 Android 及 iPhone Apps, 學習 Kotlin + Java + Swift + Objective-C 等物件導向語言。學習使用各種的元件建立介面,學習資料傳輸和資料儲存及連線上網下載檔案等功能。學員亦可透過輔助影片學習更多Android及iPhone的開發功能功能,使技術更全面。 修畢課程後,學員可具備流動 Apps 程式開發能力, 可以加強自己的競爭力並可以尋求新的出路。

為了強化及鞏固學員的知識,本校特設網上課程部分。每一個課堂均會有即時錄影,並會上載至學員的專屬帳戶,以供學員重播及重溫。 另外亦會設相關45小時教學輔助影片,協助學員強化知識。

面授課程教授使用 Kotlin 教授

課程目標

       本課程適合需要學習 Mobile Apps 開發人士設,學員可同時學習兩大開發平台 Android 及 iOS 的程式開發, 由淺入深去理解 Mobile Apps 的建構架構、語言基礎、介面設計、感應器使用、資料傳輸、檔案儲存資料、資料庫儲存資料、保安功能、動畫及繪畫、多媒體功能及遠端通告系統。 透過對比兩大平台的分別,令學員更能掌握流動程式設計的精要,使學習事半功倍。

課程結構

Swift UI

iOS Development

面授 + 視像

這部分課程將教授 iPhone 程式開發。學員將由淺入深去理解 iPhone Apps 的建構架構、語言基礎、介面設計、感應器使用、資料傳輸、檔案儲存資料、資料庫儲存資料、保安功能、動畫及繪畫、多媒體功能、遠端通告系統、上傳 Apple Store平台。

TechnologyIntroduction
Swift Swift是蘋果新開發程式語言,是用來撰寫MAC OS/OS X、iOS、watch OS和tvOS的語言之一。 2014年,其在蘋果開發者年會(WWDC)發布。設計Swift時,蘋果公司有意讓Swift與Objective-C共存在蘋果公司的作業系統上。
Objective-C Objective C 是由 C 語言所演化出來的物件導向程式,蘋果的應用程式及手機程式大多由這種語言所開發出來。它的特色是寫法類似一句英文 句子,增加程式的可讀性。
Xcode Xcode 是 Apple 提供的一個程式開發環境,使用者可免費由 Apple Store 下載至蘋果電腦上運作。它可以支援不同的程式語言(C, Objective C, Swift),亦內置手機模擬器程式等功能,方便使用者開發及測試相關程式。
Kotlin

Android Development

面授 + 視像

這部分課程將教授 Android 程式開發。學員將由淺入深去理解 Android Apps 的建構架構、語言基礎、介面設計、感應器使用、資料傳輸、檔案儲存資料、資料庫儲存資料、保安功能、動畫及繪畫、多媒體功能、遠端通告系統、上傳 Google Play平台。

TechnologyIntroduction
Java Java是一種廣泛使用的電腦程式設計語言,擁有跨平台、物件導向、泛型程式設計的特性,廣泛應用於企業級Web應用開發和行動應用開發。
Kotlin Kotlin 是一套類似 Java 的新一代程式語言,修補了其他程式語言的缺點。是Android 程式開發的首選語言。
Android Studio Android Studio是一個由Google提供為Android平台開發程式的整合式開發環境 (IDE),未來所有Android Apps將以此為開發標準。
Firebase 是由Google提供的一個支援Apps後勤服務的雲端平台。 它能夠提供各式各樣的不同雲端服務, 例如資料庫儲存及通訊功能

時間表和其他資料

全新網上學習系統現正啟用, 學員可於網上報名,即時開展學習旅程。

如課程有面授課程部分可另行與職員聯絡安排上課時間。

學員可以以下示範戶口登入學習系統以瞭解更多內容

登入戶口: demomobile

登入密碼: demopass

Login

面授或即時網上授課內容

共有8堂。導師會帶領學員一步一步建立出iPhone 及 Android Apps,學員可藉著上堂時間發問及由導師協助解決技術上的疑難。

Android Technologies

Lesson 1 (Kotlin):

  • Environment Setup - Android Studio
  • Introduction to Android Studio Interface
  • Understanding the Android Apps project structure and file usages
  • Creating the Android Phone Emulator for testing
  • Setup the Physical Device Connection for testing
  • Understanding the Life cycle of Android Activity.
  • Using View Hierarchy and different Layout Managers
  • Use of Logcat for debugging and monitoring
  • Using TextView and ImageView for display information
  • Android Resource Management (String, Color, Drawable)
  • Using Button to trigger event and setup event handling
  • Exercise: Create Image Swapping Application

Lesson 2 (Kotlin):

  • Design user form using EditText, Checkbox, RatingBar and Switch
  • Intent Concept (Implicit and Explicit)
  • Use of Implicit Intent to dial phone and browsing web
  • Use of Explicit Intent to launch another Activity
  • Passing data between different Activities
  • Storing and getting back data using SharedPreferences
  • Use of Spinner and ListView to display structured data
  • Handling Spinner and ListView events
  • Exercise: Creating 2 pages Login Form or User Registration Form

Lesson 3 (Kotlin):

  • 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 Custom made adapater and layout to display data
  • Understanding Touch and Gestures in Android
  • Using Gesture Detector to handle different gestures
  • Creating Toast and Alert Dialog Box for notification
  • Exercise: Creating a Student Score Report using ListView

Lesson 4 (Kotlin):

  • Setup a web server for interacting with the Apps
  • Understanding WebView for presenting web pages
  • Web Server Communication using Background Thread
  • Setting static and dynamic permission for web access
  • Understanding JSON data format for communications
  • Downloading text, image and JSON data using Handler
  • Sign and Build the Apps for deployment
  • Exercise: Creating a News Apps getting information from the Web Server.

iPhone Technologies

Lesson 1 (Swift):

  • Environment Setup - Xcode and iOS SDK
  • Swift Language Basics
  • Understanding Xcode development environment
  • Understanding the iOS Apps project structure and file usages
  • Creating the iOS Phone Emulator for testing
  • Setup the Physical Device Connection for testing
  • Understanding Views, View Hierarchy and View Controllers
  • Understanding the Life cycle of ViewController
  • Use of NSLog for debugging and monitoring
  • Using UILabel and UIImageView for display information
  • IOS xcassets and image management for different resolutions
  • Using Button to trigger event and setup event handling
  • Understanding IBOulets and IBActions
  • Exercise: Create Image Swapping Application

Lesson 2 (Swift):

  • Using Storyboards, Segues and Transitions
  • Link up multiple pages using Modal Segue.
  • Creating Segue to connect different Scenes
  • Use of Navigation Controller to navigate to different Scenes
  • Passing data between different ViewControllers
  • Storing and getting back data using NSDefaults
  • Using TabBar Controller for building tab based applications
  • Understanding AutoLayout for handling different devices and orientation
  • Exercise: Creating 2 pages Login Form or User Registration Form

Lesson 3 (Swift):

  • Design user form using UITextField, UISegmentControl, UISwitch and UISlider
  • Understanding TableView for displaying structured data
  • Use of TableView to display data from internal array
  • Use of TableView to support Master and Details application
  • Add data deletioin and addition to the TableView application
  • Customized the design of the TableView cell
  • Understanding Touch and Gestures in IOS
  • Using Gesture Detector to handle different gestures
  • Creating AlertView and ActionSheet for notification
  • Exercise: Creating a Student Score Report using TableView

Lesson 4 (Swift):

  • Setup a web server for interacting with the Apps
  • Understanding WebView for presenting web pages
  • Web Server Communication using Background Thread
  • Setting Apps Transport Security for web access
  • Understanding JSON data format for communications
  • Downloading text, image and JSON data using URLSession
  • Sign and Build the Apps for deployment
  • Exercise: Creating a News Apps getting information from the Web Server.

視像課程內容

視像部分共有70小時,學員有充裕的時間去不斷重溫及重播相關技術課程片段,務求令自己掌握相關技術。

Android by Java (27h:43m:35s)

示範視像課程

Getting Started - Java JDK and Android Studio Installation

16m:40s

Android: Threading - Basic Concepts and Applications

9m:16s

  1. Java JDK installation 03m:00s
  2. Setup Environment Variables for Java 03m:18s
  3. Write a Simple Java Program 05m:21s
  4. Compile and Run the Java Program 08m:00s
  5. Java Basics (Program Structure) 06m:43s
  6. Java Basics (Variables) 12m:07s
  7. Java Basics (Decision Making) 03m:44s
  8. Java Basics (Looping) 10m:09s
  9. Java Basics (Methods) 15m:09s
  10. Java Basics (Array for Numbers) 12m:17s
  11. Java Basics (Array for Strings) 09m:15s
  12. Eclipse IDE Installation 03m:01s
  13. Using Eclipse to Write a Simple Java Program 05m:03s
  14. Java Class (Java Class Basic Structure) 06m:06s
  15. Java Class (Constructor Methods) 03m:59s
  16. Java Class (Getter/Setter Methods) 04m:21s
  17. Java Class (Auto Generate Methods) 02m:24s
  18. Object-Oriented Concepts (Inheritance Basics) 02m:24s
  19. Object-Oriented Concepts (Use of Inheritance) 07m:09s
  20. Object-Oriented Concepts (Class with Inheritance) 04m:16s
  21. Object-Oriented Concepts (Further Class Examples) 06m:57s
  22. Object-Oriented Concepts (Array of Objects) 03m:31s
  23. Object-Oriented Concepts (Abstract Class) 13m:31s
  24. Object-Oriented Concepts (ArrayList) 08m:49s
  25. Object-Oriented Concepts (Polymorphism) 05m:48s
  26. Object-Oriented Concepts (Interface) 05m:53s
  27. Object-Oriented Concepts (Use of Interface) 06m:28s
  28. Object-Oriented Concepts (Further Interface Examples) 06m:55s
  1. Java JDK and Android Studio Installation 16m:40s
  2. Creating an empty project using Android Studio 06m:35s
  3. Understanding the basics project 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 05m:47s
  8. Learning Auto-Complete, Compiler Error and the output apk file 03m:02s
  1. Understanding Android Architecture and Activity LifeCycle 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
  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
  1. Event Listener Basics - Button Click Event - Single Button 08m:33s
  2. Event Listener Basics - Button Click Event - Two Buttons 03m:06s
  3. Event Listener Basics - Button Click Event - Anonymous Inner Class 05m:45s
  4. Demo - Adding Images Dynamically using Button Click 22m:57s
  5. EditText - Letting User to Enter Values 08m:41s
  6. EditText - OnFocus Change Event Listener 09m:19s
  7. ToggleButton, CheckBox, RadioButton, SeekBar, RatingBar, Switch 08m:57s
  8. Other Widgets - Handling the Events for ToggleButton 07m:21s
  9. Other Widgets - Handling the Events for CheckBox 02m:15s
  10. Other Widgets - Handling the Events for RadioButton 02m:22s
  11. Other Widgets - Handling the Events for RatingBar 02m:39s
  12. Other Widgets - Handling the Events for Switch 02m:37s
  13. DateTime Widgets - DatePicker 06m:32s
  14. DateTime Widgets - TimePicker 04m:39s
  15. Dialog Widgets - AlertDialog 14m:41s
  16. Dialog Widgets - DatePickerDialog 15m:25s
  17. Dialog Widgets - TimePickerDialog 06m:05s
  18. Dialog Widgets - Custom Made Input Dialog (Part 1) 09m:27s
  19. Dialog Widgets - Custom Made Input Dialog (Part 2) 04m:46s
  20. Dialog Widgets - Custom Made Input Dialog (Part 3) 07m:58s
  1. AdapterView - Spinner and Adapter 1) - Using XML files 08m:32s
  2. AdapterView - Spinner and Adapter 2) - Using Adapter Object 08m:18s
  3. AdapterView - Spinner and Adapter 3) - Event Handling 05m:48s
  4. AdapterView - Spinner and Adapter 4) - Further Issues 04m:04s
  5. AdapterView - Spinner and Adapter 5) - Layout Customization 12m:03s
  6. Demo Use of Customized Spinner with Customized Adapter 1) 11m:54s
  7. Demo Use of Customized Spinner with Customized Adapter 2) 11m:06s
  8. Introducing UI Components and Resources Files 08m:29s
  9. ListView 1) - Basics 12m:06s
  10. ListView 2) - Using ArrayAdapter 10m:40s
  11. ListView 3) - Using Different ChoiceMode 06m:08s
  12. ListView 4) - Using ArrayList to Store Selection 07m:36s
  13. ListView 5) - Using Custom ListView 06m:44s
  14. ListView 6) - Customizing ListView using Shape and Selector 09m:32s
  15. ListView 7) - Customizing ListView using Customized Adapter and Layout 26m:05s
  16. ListView 8) - Using SimpleAdapter and ArrayList 09m:55s
  17. GridView 1) 07m:42s
  18. GridView 2) 05m:08s
  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
  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
  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
  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
  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
  1. 1 - Touch - Detecting Multi-Touch and Resizing Image (Part 1) 06m:53s
  2. 2 - Touch - Detecting Multi-Touch and Resizing Image (Part 2) 07m:33s
  3. 3 - Gesture - Detecting Gesture and Use Fling to change screens (Part 1) 11m:44s
  4. 4 - Gesture - Detecting Gesture and Use Fling to change screens (Part 2) 08m:35s
  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
  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
  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
  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
  • Services - Basic Concepts 06m:57s
  • Services - Understanding Services Concept and LifeCycle 13m:31s
  • IntentServices - Understanding IntentServices Concept and LifeCycle 07m:55s
  • BindServices - Understanding BindServices Concept and LifeCycle (Part 1) 09m:55s
  • BindServices - Understanding BindServices Concept and LifeCycle (Part 2) 09m:52s
    1. Playback Video using VideoView and MediaController 07m:49s
    2. Record Video (Preparing the recording environment) 04m:26s
    3. Record Video (Create an Intent for Video Capture) 03m:11s
    4. Record Video (Show the Video Location after recording) 02m:16s
    5. Record Video (Playback the recorded video) 03m:52s
    6. Request Runtime Permission (Set the environment) 02m:06s
    7. Request Runtime Permission (Check permission granted or not) 03m:08s
    8. Request Runtime Permission (Request permission and check result) 04m:23s
    9. Record and Playback Audio (Set the environment) 07m:39s
    10. Record and Playback Audio (Check Microphone Availability) 03m:03s
    11. Record and Playback Audio (Set file path and permissions) 06m:54s
    12. Record and Playback Audio (Add the code for recording sound) 03m:33s
    13. Record and Playback Audio (Add the code to playback sound) 03m:49s
    14. Taking Photo using Intent 06m:31s
    1. Understanding FAB and Snackbar 04m:04s
    2. Customizing FAB to add new items to ListView 10m:09s
    3. Customizing Snackbar to remove items from ListView 04m:34s
    4. Understanding TabLayout and ViewPager 05m:40s
    5. Adding TabLayout and ViewPager 07m:48s
    6. Creating Adapter for the ViewPager to display Fragment 07m:47s
    7. Synchronizing TabLayout and ViewPager movements 03m:40s
    8. Customizing TabLayout and ViewPager 04m:27s
    9. Introduction to RecyclerView and CardView 07m:35s
    10. Preparing the Project for RecyclerView and CardView 03m:30s
    11. Design the CardView Layout for each Item 05m:55s
    12. Creating the RecyclerAdapter and ViewHolder 12m:11s
    13. Finishing the RecyclerView and CardView 02m:26s
    14. Customizing the RecyclerView by adding Event Listener 02m:22s
    15. Customizing the CardView background colors and heights 03m:44s
    16. Testing out the different LayoutManagers for RecyclerView 04m:02s
    1. Introduction to Constraint Layout Manager 08m:07s
    2. Understanding Margin Constraint, Opposing Constraint and Resizing View 5m:33s
    3. Set contraints relative to other view or guidelines 03m:04s
    4. Understanding the Baseline constraints 02m:28s
    5. Using various Alignment settings to control the layout of multiple views 02m:46s
    6. Using Chain to link up different views 03m:15s
    7. Example of using Constraint layout to design an interface 05m:26s
    8. How to convert Constraint Layout back to other Layout Manager 01m:04s
    1. Introduction to Firebase Cloud Services 03m:50s
    2. Creating a new Firebase project 2m:16s
    3. Creating an Android project and link up to Firebase project 05m:32s
    4. Testing sending remote notification to the apps using Firebase 04m:38s
    5. Setup the Apps to receive remote notifcation in foreground 08m:37s
    6. Create local notification using Pending Intent and Notification Manager 08m:20s
    7. Adding custom data to the messages and receive them in Apps 05m:01s
    8. Setup the Apps to receive the refresh token for sending message to single device 07m:45s
    1. Generate signed APK using self-generated certificate and private key 05m:30s
    2. Create a new application in Google Play Store for uploading APK file 03m:02s
    3. Fill in description and upload icons and screenshots for the Apps 03m:52s
    4. Applying Content Rating for the Apps 01m:47s
    5. Complete the remaining information for the Apps and publish to Play Store 03m:31s

    iOS by Swift (17h:36m:32s)

    示範視像課程

    Use WebView to show web page

    11m:45s

    Use TableView to show JSON data

    9m:55s

    1. Creating a Playground 06m:33s
    2. Swift Data Types, Variables and Constants 06m:22s
    3. Swift Tuple 05m:49s
    4. Swift Optionals and Forced Unwrapping 06m:51s
    5. Swift Optional Binding 03m:59s
    6. Swift Implicitly Unwrapped Optionals 04m:09s
    7. Swift Operators and Range Operators 05m:06s
    8. Swift Flow Control 08m:52s
    9. Swift Switch Case Flow Control 08m:36s
    10. Swift Functions (Part 1) 15m:09s
    11. Swift Functions (Part 2) 08m:50s
    12. Swift Functions Advanced (Part 1) 06m:35s
    13. Swift Functions Advanced (Part 2) 08m:26s
    14. Swift Class and Object (Part 1) - Basics 06m:37s
    15. Swift Class and Object (Part 2) - Basics 07m:18s
    16. Swift Class and Object (Part 3) - Basics 04m:14s
    17. Swift Class and Object (Part 4) - Inheritance 07m:06s
    18. Swift Class and Object (Part 5) - Overriding Methods 06m:00s
    19. Swift Class and Object (Part 6) - Extensions 04m:13s
    20. Swift Array 10m:28s
    21. Swift Dictionary 05m:57s
    22. Swift Error Handling (Part 1) 07m:23s
    23. Swift Error Handling (Part 2) - Guard Statement 04m:43s
    1. Creating the first IOS project 05m:20s
    2. IOS Architecture (Cocoa Touch and Frameworks) 03m:34s
    3. Design Pattern - MVC (Model, View and Controller) 07m:34s
    4. Design Pattern - Delegation 04m:25s
    5. Design Pattern - Target and Action 03m:03s
    6. Life Cycle Methods in AppDelegate 06m:10s
    7. Xcode Interface Introduction 07m:02s
    8. IBOutlet and IBAction Demo 06m:03s
    9. IOS View Hierarchy 04m:20s
    10. UIView Co-ordinate System 06m:44s
    1. UILabel (By Interface Builder and By Code) 07m:20s
    2. UIButton (By Interface Builder and By Code) (Part 1) 06m:41s
    3. UIButton (By Interface Builder and By Code) (Part 2) 09m:18s
    4. UIButton (By Interface Builder and By Code) (Part 3) 07m:13s
    5. UITextField (By Interface Builder and By Code) (Part 1) 10m:48s
    6. UITextField (By Interface Builder and By Code) (Part 2) 05m:29s
    7. UITextView (By Interface Builder and By Code) 07m:28s
    8. UISwitch (By Interface Builder and By Code) (Part 1) 06m:27s
    9. UISwitch (By Interface Builder and By Code) (Part 2) 05m:43s
    10. UISlider (By Interface Builder and By Code) 07m:11s
    11. UIStepper (By Interface Builder and By Code) 08m:05s
    12. UISegmentControl (By Interface Builder and By Code) 08m:22s
    13. UIImageView (By Interface Builder and By Code) (Part 1) 12m:32s
    14. UIImageView (By Interface Builder and By Code) (Part 2) 09m:51s
    15. UIImageView (By Interface Builder and By Code) (Part 3) 03m:14s
    16. UIImageView (Pattern, Rotation, Scale and Translation) (Part 1) 09m:37s
    17. UIImageView (Pattern, Rotation, Scale and Translation) (Part 2) 06m:02s
    1. UIDatePicker (By Interface Builder and By Code) 08m:46s
    2. UIPickerView (By Interface Builder and By Code) 13m:40s
    3. UIAlertController with Action Buttons 09m:57s
    4. UIAlertController with Text Fields 05m:54s
    1. Understanding the Storyboard, Scene and Segue 02m:37s
    2. Adding Scenes to the Storyboard 05m:32s
    3. Configuring Storyboard Segues using Modal Segue 03m:38s
    4. Adding and Dismissing the View Controller for Scenes 07m:28s
    5. Unwinding Storyboard Segues 04m:39s
    6. Triggering a Storyboard Segue Programmatically 03m:11s
    7. Passing Data between Scenes 05m:34s
    8. Organizing Scenes over Multiple Storyboards and LaunchScreen 09m:53s
    1. Understanding Navigation Controller and Navigation Bar 03m:08s
    2. Adding Navigation Bar to Change Scenes 06m:05s
    3. Further Exploring the Effect of Navigation Controller 05m:38s
    4. Passing Data Between Scenes using Navigation Controller 06m:51s
    1. Understanding Tab Bar Controller and Tab Bar 03m:11s
    2. Adding Tab Bar to Change Scenes 03m:46s
    3. Passing Data Between Scenes using Tab Bar Controller 07m:11s
    1. Setup Project for displaying data in TableView 10m:28s
    2. Diplaying image and more text in the TableView cell 04m:18s
    3. Detecting which row user selected in TableView 01m:46s
    4. Removing the cell from the TableView 03m:01s
    5. Customizing the TableView cell 06m:40s
    1. AutoSizing - Introduction to Layout Control 07m:05s
    2. AutoLayout - Adding constraints to the element 06m:20s
    3. AutoLayout - Constraint Formula and Resolve Constraints Issues 05m:02s
    4. AutoLayout - Set margin constraints to fix the width of a view 06m:01s
    5. Size Classes for layout variations in different devices and orientation 07m:45s
    6. Size Classes for diplaying different images in different orientations 02m:37s
    7. Setting AutoLayout constraints in code for dynamic elements 05m:48s
    1. Storing data using UserDefaults object (Part 1) 03m:30s
    2. Storing data using UserDefaults object (Part 2) 07m:36s
    3. Using UserDefaults to store different types of data 04m:51s
    4. Using UserDefaults to store image 06m:13s
    5. Storing data using File object 02m:40s
    6. Understanding how to find the Document path for storage 06m:47s
    7. Write String to text file in Document directory 04m:40s
    8. Read String from text file in Document directory 04m:13s
    9. Write and Read Array to text file in Document directory 05m:50s
    10. Read and Write Dictionary to text file in Document directory 03m:35s
    11. Introduction to FileManager object and the Apps directory structure 10m:07s
    12. Read and Write Image to file in Document directory 05m:15s
    13. Changing directory using FileManager object 02m:45s
    14. Create a new Directory using FileManager 06m:19s
    15. Copy file using FileManager 02m:50s
    16. Creating directory using FileManager object 03m:29s
    17. List contents of the Document directory using FileManager 02m:05s
    18. List directory content using FileManager object 02m:22s
    19. Move and Remove file using FileManager 03m:47s
    20. Put the common used codes into separate file management functions 05m:30s
    21. Deleting directory using FileManager object 02m:51s
    22. Write file to the directory using FileManager object 05m:13s
    23. Read file content using FileManager object 04m:04s
    24. Copy file using FileManager object 02m:04s
    25. Move file using FileManager object 01m:44s
    26. Delete file using FileManager object 01m:23s
    27. Understanding the FileHandle object and the offset 04m:36s
    28. Read partial file content using FileHandle and offset 02m:30s
    29. Appending file content using FileHandle and offset 03m:27s
    30. Truncating file content using FileHandle and offset 00m:58s
    1. Introduction to SQLite database and tables 04m:38s
    2. Create a table using SQL commands 02m:08s
    3. Insert and Select data using SQL commands 04m:21s
    4. Update and delete data using SQL commands 01m:55s
    5. Setup FMDB for interacting with SQLite database in Swift project 04m:26s
    6. Create a database using FMDB 04m:40s
    7. Insert data into the database using FMDB 07m:57s
    8. List data from the database using FMDB 08m:50s
    9. Example of using FMDB to build a database application (Part 1) 07m:19s
    10. Example of using FMDB to build a database application (Part 2) 08m:36s
    11. Example of using FMDB to build a database application (Part 3) 06m:26s
    12. Introduction to Core Data 04m:35s
    13. Create a project with Core Data support added 03m:23s
    14. Create the Data Model using Entities 03m:22s
    15. Build the interface for the Core Data application 03m:20s
    16. Creating and saving a Managed Object to database using Core Data 09m:01s
    17. Build the Fetch Request to get the required Managed Objects 10m:33s
    1. Introduction to Multitasking and Queues 02m:50s
    2. Creating OperationQueue to run parallel tasks 04m:37s
    3. Adding Dependency and Completion Handler to Operations 04m:24s
    4. Update UI in Main Queue from the Operation Queue 02m:47s
    5. Creating GCD DispatchQueue to run parallel tasks 09m:38s
    6. Introduction to Networking Concepts 03m:56s
    7. Using WebView to load web pages 03m:06s
    8. Using WebKitView to load web pages 03m:12s
    9. Enhancing user experiences using Web View 04m:05s
    10. Dowloading Image using Data object 06m:32s
    11. Submit the image download task to DispatchQueue for Multitasking 02m:58s
    12. Submit the image download task to OperationQueue for Multitasking 02m:32s
    13. Using NSURLSession dataTask to download image data 09m:54s
    14. Using NSURLSession downLoadTask to download image data 07m:08s
    15. Downloading JSON file and convert to JSON objects 09m:43s
    1. Introduction to Touches and Gestures Concepts 04m:48s
    2. Multi-touch - Detecting touches, taps and coordinates 06m:28s
    3. Multi-touch - Detecting touches, taps and coordinates (Part 2) 05m:04s
    4. Swipe Gesture - detecting the Swipe gesture 05m:11s
    5. Long Press and Pan Gesture - testing the Long Press and Pan gesture 04m:32s
    6. Pinch and Rotation Gestures - Using 2 fingers to detect the gestures 04m:03s
    7. Tap Gesture - try to set the criteria for for tap gesture 01m:18s
    1. Introduction to Core Graphics and Coordinate Systems 03m:54s
    2. Prepare the project for drawing using UIView 03m:26s
    3. Draw a line on the UIView 04m:00s
    4. Draw and fill a path on the UIView 04m:34s
    5. Draw a rectangle and ellipse on the UIView 03m:50s
    6. Introduction to Arc, Bezier Curve and Quad Curve 01m:12s
    7. Draw Arc, Bezier Curve and Quad Curve on the UIView 06m:07s
    8. Draw Image on the UIView 04m:10s
    9. Introduction to Animation Concepts 03m:59s
    10. Make a Frame Animation using ImageView 07m:58s
    11. Understanding different properties for Tween Animation 10m:16s
    12. Using Property Animator for Tween Animation 06m:29s
    13. Adding Touch to the Tween Animation 07m:49s
    14. Introduction to Dynamic Animator and Physics Engine 03m:18s
    15. Adding Gravity to a View using Dynamic Animator 05m:44s
    16. Adding Collision to the Views using Dynamic Animator 06m:23s
    17. Adding Attachment Behavior using Dynamic Animator 03m:14s
    18. Make a Constraint Animation 03m:57s
    1. Show a map based on the location latitude and longitude 12m:11s
    2. Show your current location in the map 08m:20s
    3. Keep track your location on the map when moving 07m:30s
    1. Playback an audio file and control the volume (part 1) 03m:00s
    2. Playback an audio file and control the volume (part 2) 09m:28s
    3. Playback an video file hosted in the web (part 1) 03m:45s
    4. Playback an video file hosted in the web (part 2) 04m:54s
    5. Take photo using Camera or from Photo Library (part 1) 09m:06s
    6. Take photo using Camera or from Photo Library (part 2) 06m:06s
    1. Exchange data using Notification Center (part 1) 07m:42s
    2. Exchange data using Notification Center (part 2) 09m:01s
    3. Exchange data using Notification Center (part 3) 06m:31s
    4. Receiving System Notification from Notification Center 09m:39s
    5. Sending User Notification to notify users (part 1) 05m:31s
    6. Sending User Notification to notify users (part 2) 07m:35s

    iOS by Objective-C (16h:56m:15s)

    示範視像課程

    Introduction to Objective-C Class

    6m:41s

    Introduction to Firebase Cloud Services

    3m:50s

    1. Introduction to Integer and Floating Point Variables 07m:59s
    2. Introduction to NSString Object 06m:13s
    3. Decision Making using Boolean Variables and If-Else 04m:58s
    4. Repeating Code Execution using For Loop 03m:36s
    5. Using Arrray Data Structure to store values 07m:24s
    6. Using Dictionary Data Structure to store values 06m:18s
    7. Introduction to Objective-C Class 06m:41s
    8. Creating Objective-C Objects using Class 07m:44s
    9. Adding more variables and methods to Class 02m:16s
    10. Understanding the concept of Class Inheritance 05m:17s
    1. Creating the first IOS project 08m:16s
    2. IOS Architecture (Cocoa Touch and Frameworks) 03m:53s
    3. Design Pattern - MVC (Model, View and Controller) 07m:52s
    4. Design Pattern - Delegation 06m:04s
    5. Design Pattern - Target and Action 05m:48s
    6. Life Cycle Methods in AppDelegate 06m:35s
    7. Xcode Interface Introduction 05m:32s
    8. IBOutlet and IBAction Demo 08m:15s
    9. IOS View Hierarchy 04m:20s
    1. UILabel (By Interface Builder and By Code) 09m:14s
    2. UIButton (By Interface Builder and By Code) 08m:56s
    3. UIButton (By Interface Builder and By Code) (part 2) 10m:22s
    4. UIButton (By Interface Builder and By Code) (part 3) 06m:33s
    5. UITextField (By Interface Builder and By Code) 08m:37s
    6. UITextField (By Interface Builder and By Code) (part 2) 05m:32s
    7. UITextView (By Interface Builder and By Code) 08m:30s
    8. UISwitch (By Interface Builder and By Code) 06m:54s
    9. UISwitch (By Interface Builder and By Code) (Part 2) 04m:14s
    10. UISlider (By Interface Builder and By Code) 07m:56s
    11. UIStepper (By Interface Builder and By Code) 07m:28s
    12. UISegmentControl (By Interface Builder and By Code) 09m:33s
    13. UIImageView (By Interface Builder and By Code) 10m:07s
    14. UIImageView (By Interface Builder and By Code) (part 2) 08m:54s
    15. UIImageView (By Interface Builder and By Code) (part 3) 03m:47s
    16. UIImageView (By Interface Builder and By Code) (part 4) 05m:46s
    1. UIDatePicker (By Interface Builder and By Code) 05m:13s
    2. UIDatePicker (By Interface Builder and By Code) (part 2) 04m:34s
    3. UIPickerView (By Interface Builder and By Code) 13m:16s
    4. UIAlertController with Action Buttons 08m:16s
    5. UIAlertController with TextFields 05m:15s
    1. Understanding the Storyboard, Scene and Segue 02m:37s
    2. Adding Scenes to the Storyboard 06m:08s
    3. Configuring Storyboard Segues and Transitions 03m:39s
    4. Adding and Dismissing the View Controller for Scene 06m:56s
    5. Unwinding Storyboard Segues 03m:26s
    6. Triggering a Storyboard Segue Programmatically 03m:39s
    7. Passing Data between Scenes 06m:03s
    8. Organizing Scenes over Multiple Storyboards and LaunchScreen 10m:07s
    1. Understanding Navigation Controller and Navigation Bar 03m:08s
    2. Adding Navigation Bar to Change Scenes 06m:10s
    3. Further Exploring the Effect of Navigation Controller 06m:06s
    4. Passing Data Between Scenes using Navigation Controller 08m:15s
    5. Understanding Tab Bar Controller and Tab Bar 03m:11s
    6. Adding Tab Bar to Change Scenes 03m:46s
    7. Passing Data Between Scenes using Tab Bar Controller 07m:11s
    1. AutoSizing - Introduction to Layout Control 07m:05s
    2. AutoLayout - Adding constraints to the element 06m:20s
    3. AutoLayout - Constraint Formula and Resolve Constraints Issues 05m:01s
    4. AutoLayout - Set margin constraints to fix the width of a view 06m:01s
    5. AutoLayout - Use size, alignments and formula to set views 03m:17s
    6. Size Classes for layout variations in different devices and orientation 07m:45s
    7. Size Classes for diplaying different images in different orientations 02m:37s
    1. Setup Project for displaying data in TableView 12m:31s
    2. Diplaying image and more text in the TableView cell 04m:20s
    3. Detecting which row user selected in TableView 01m:52s
    4. Removing the cell from the TableView 06m:32s
    5. Build a TableView from stratch 07m:41s
    6. Customizing the TableView cell 07m:07s
    7. Passing data from TableView to other ViewController 09m:45s
    8. Present data in grid using Collection View 15m:09s
    1. Setup the environment for Page based application 08m:10s
    2. Prepare the View Controller for displaying content 02m:42s
    3. Prepare the Root View Controller for launching Page View Controller dynamically 03m:44s
    4. Prepare the Page View Controller to implement the Data Source protocol 05m:08s
    5. Prepare the methods required for the data source protocol 10m:25s
    6. Completing the codes and start different page transition effects 03m:56s
    7. Adding Page Control to show page position 04m:07s
    1. Introduction to Touches and Gestures Concepts 04m:48s
    2. Multi-touch - Detecting touches, taps and coordinates 08m:03s
    3. Swipe Gesture - detecting the Swipe gesture 05m:36s
    4. Long Press and Pan Gesture - testing the Long Press and Pan gesture 04m:38s
    5. Pinch and Rotation Gestures - Using 2 fingers to detect the gestures 04m:40s
    6. Tap Gesture - try to set the criteria for for tap gesture 01m:38s
    1. Introduction to Multitasking and Queues 02m:50s
    2. Creating OperationQueue to run parallel tasks 04m:12s
    3. Adding Dependency and Completion Handler to Operations 05m:05s
    4. Update UI in Main Queue from the Operation Queue 02m:58s
    5. Creating GCD DispatchQueue to run parallel tasks 11m:02s
    6. Introduction to Networking Concepts 03m:56s
    7. Using WebView to load web pages 04m:56s
    8. Using WebKitView to load web pages 02m:55s
    9. Enhancing user experiences using Web View 04m:08s
    10. Dowloading Image using Data object 04m:40s
    11. Submit the image download task to DispatchQueue for Multitasking 03m:14s
    12. Submit the image download task to OperationQueue for Multitasking 02m:07s
    13. Using NSURLSession to download image data 03m:22s
    14. Using NSURLSession downLoadTask to download image data 03m:53s
    1. Storing data using UserDefaults object 10m:01s
    2. Using UserDefaults to store different types of data 05m:49s
    3. Using UserDefaults to store image 05m:01s
    4. Understanding how to find the Document path for storage 08m:42s
    5. Read and Write a String to a file in Document Directory 06m:28s
    6. Read and Write an Array to a file in Document Directory 04m:07s
    7. Read and Write a Dictionary to a file in Document Directory 03m:26s
    8. Read and Write an Image to a file in Document Directory 05m:57s
    9. Understanding File Manager and use it to find the Document Directory 05m:33s
    10. Create and Remove Directory using File Manager 04m:03s
    11. List out the Directory content using File Manager 02m:34s
    12. Copy, Rename and Delete file using File Manager 06m:38s
    13. Understanding FileHandle and file offset 05m:15s
    14. Read file content from current offset position 02m:41s
    15. Write new content to the file using File Handle 04m:15s
    1. Introduction to SQLite database and tables 04m:38s
    2. Create a table using SQL commands 02m:08s
    3. Insert and Select data using SQL commands 04m:21s
    4. Update and delete data using SQL commands 01m:55s
    5. Setup the project for interacting with SQLite database 08m:37s
    6. Create the path for storing the sqlite3 database file 04m:53s
    7. Create the database when the applicatoin runs at the first time 09m:23s
    8. Implement the Save method to save the student data 09m:02s
    9. Implement the Search method to search the student data 06m:38s
    10. Introduction to Core Data 04m:35s
    11. Create a project with Core Data support added 03m:05s
    12. Create the Data Model using Entities 05m:27s
    13. Build the interface for the Core Data application 03m:04s
    14. Creating and saving a Managed Object to database using Core Data 07m:46s
    15. Build the Fetch Request to get the required Managed Objects 07m:03s
    1. Playback an audio file and control the volume 12m:06s
    2. Playback an video file hosted in the web 04m:21s
    3. Playback an video file hosted in the web (part 2) 04m:44s
    4. Take photo using Camera or Pick photo from Photo Library 09m:44s
    5. Take photo using Camera or Pick photo from Photo Library (part 2) 07m:11s
    1. Introduction to Core Graphics and Coordinate Systems 03m:54s
    2. Prepare the project for drawing using UIView 02m:52s
    3. Draw a line on the UIView 04m:02s
    4. Draw and Fill a path on the UIView 05m:42s
    5. Draw a rectangle and ellipse on the UIView 04m:44s
    6. Introduction to Arc, Bezier Curve and Quad Curve 01m:18s
    7. Draw Arc, Bezier Curve and Quad Curve on the UIView 05m:35s
    8. Draw Image on the UIView 05m:32s
    9. Introduction to Animation Concepts 03m:59s
    10. Make a Frame Animation using ImageView 06m:28s
    11. Understanding different properties for Tween Animation 10m:25s
    12. Understanding transform properties for Tween Animation 06m:29s
    13. Using Property Animator for Tween Animation 07m:26s
    14. Adding Touch to the Tween Animation 07m:16s
    15. Adding Gravity to a View using Dynamic Animator 06m:55s
    16. Adding Collision to the Views using Dynamic Animator 07m:36s
    17. Adding Attachment Behavior using Dynamic Animator 04m:18s
    18. Make a Constraint Animation 06m:13s
    1. Exchange data using Notification Center 06m:55s
    2. Exchange data using Notification Center (part 2) 07m:45s
    3. Exchange data using Notification Center (part 3) 03m:36s
    4. Receiving System Notification from Notification Center (Keyboard Hide or Show) 05m:19s
    5. Receiving System Notification from Notification Center (Text Field Updates) 02m:22s
    6. Sending User Notification to notify users 06m:09s
    7. Sending User Notification to notify users (part 2) 05m:45s
    8. Receiving User Notification when running in foreground 02m:59s
    1. Deploy the Apps to physical device with Xcode managed profile 04m:05s
    2. Applying a Development Certificate from Apple for signing Apps 06m:20s
    3. Register an App ID for identifying the Apps 02m:46s
    4. Register the Device ID for installing the Apps 01m:18s
    5. Build the Provisioning Profile and deploy the Apps using the self made profile 03m:14s
    6. Create a Distribution Provisioning Profile for deploying to App Store 04m:23s
    7. Create an icon for the Apps 03m:02s
    8. Create a Launch Screen for the Apps 01m:34s
    9. Create a App container in the iTunes Connect and Build the archive for upload 07m:02s
    1. Introduction to Firebase Cloud Services 03m:50s
    2. Creating a new Firebase project 04m:54s
    3. Creating an Xcode project and enable Push Notification capabilities 02m:14s
    4. Enabling the Push Notfication capabilities for the App ID 02m:09s
    5. Creating a SSL certificate to identify APN services to Firebase Server 06m:34s
    6. Install CocoaPod and download the Firebase SDK to the project 04m:59s
    7. Download the sample project and add the necessary support for your project 03m:06s
    8. Adding the methods for receiving remote notifications 07m:44s
    9. Understanding the methods related to remote notifications 01m:46s
    10. Add the Google Services plist file to the project and deploy to the physical device 01m:46s
    11. Sending the notification from Firebase console and receive in Apps 10m:04s
    12. Display the received info in the Notification to the Label 06m:23s

    FAQ 常問問題

    我們只需有基本電腦操作能力便可。我們會假設學員只有基本電腦知識,所以會由基本的程式語言教起,學員可重複翻看片段去鞏固自己的知識

    基本上用廣東話教學配以英文專有名詞

    於課堂有錄影片段所以學員可重看片段便可補回進度。

    在上堂時,導師會要求學員一起完成各種各類的電腦操作實驗。導師會與學員一起完成所有的實驗並解釋背後的原理。

    學員需上課並達出席率80%便可獲得證書。

    所有視像課程均有原始碼,學員可下載相關程式碼以便操作。

    學員只需一部較為快的電腦便可安裝所有軟件,所有軟件都是免費的。電腦建議為i5或以上,越快越好。iPhone 的課程需要一部 MAC 機。

    導師已有接近十年教授 Web / Apps 開發經驗。除了教授公開班外,亦為各大專院校及公私營機構開班教授相關課程, 例如教育學院、教育局、房屋署、香格里拉酒店。最近更獲強積金局採納電子教材為官方教學材料,質素有所保證。 。

    上課時間由七時開始至9時45分。一星期上堂一天。上課地點則為佐敦地鐵站側的商業大廈,由地鐵站至本中心只需約步行數分鐘。

    More Questions?