Basic to Advanced Android Programming

Basic to Advanced Android Programming

การพัฒนาแอพพลิเคชั่นบนมือถือมีการเติบโตอย่างรวดเร็วและตอบสนองความต้องการในการใช้งานมีจำนวนมากขึ้นในปัจจุบันเนื่องจากเครื่องมือในการพัฒนาในปัจจุบันลดความยุ่งยากในการพัฒนา เอื้อให้สามารถนำมาพัฒนาแอพพลิเคชั่นอย่างรวดเร็ว 

หลักสูตรนี้จะเหมาะตั้งแต่ผู้เริ่มต้นไปถึงขั้นการประยุกต์ใช้งานจริง โดยมีหัวข้อที่น่าสนใจเกี่ยวกับการพัฒนาแอพ Android มากมาย อาทิ การปูพื้นฐานให้แก่ผู้เรียนรู้จักเครื่องมือ SDK ในการพัฒนา รวมทั้งวิเคราะห์ข้อดีข้อเสียสำหรับผู้ที่สนใจพัฒนาโปรแกรมบน Android การเขียนโปรแกรมภาษา Java, Kotlin เรียนรู้เครื่องมือในการพัฒนาโปรแกรมบน Android  การจัดการระบบส่ง SMS  การ Control Hardware ที่มีอยู่บนตัวเครื่อง  ไม่ว่าจะเป็น Camera, Sensor, Multi Touch, Bluetooth, Wireless   เรียนรู้ Architecture ในการทำงานแบบ online ด้วยการจัดการ Browser ด้วย Web Control และ HTTP ซึ่งเป็น protocol หลักในการใช้งาน internet  และ การใช้งาน Technology Web Service เพื่อแลกเปลี่ยน Service ที่สามารถ request ใช้ด้วย Android Application ได้ 

เนื้อหาการอบรมเป็นลักษณะการบรรยาย สลับกับการทำ Workshop และ Lab ประกอบทุกหัวข้อเพื่อฝึกฝนและเสริมความเข้าใจได้ดียิ่งขึ้นในการเรียนรู้ มีเอกสาร คู่มือ เนื้อหาสรุปการบรรยายต่าง ๆ ประกอบการอบรมแจกให้กับผู้เข้าอบรมนำกลับไปทบทวนในภายหลังได้

สาขากรุงเทพฯ (ลาดพร้าว)
  • ยังไม่มีรอบเปิดอบรม (ลงชื่อจองไว้ได้)
  • เรียนรู้การเตรียมความพร้อมการเรียนรู้ Android
  • เริ่มเขียนโปรแกรมแรกกันด้วยภาษา Java และ Kotlin
  • เจาะลึกโครงสร้างของโปรเจ็กต์ Android
  • เรียนรู้การออกแบบเลย์เอาต์ (Layout) สำหรับแอพ Android
  • เรียนรู้การทำงานกับวิว (View) ใน Android
  • เรียนรู้การใช้งาน Debugging ใน Android Studio
  • เรียนรู้เรื่องหน่วยวัดขนาดต่าง ๆ ใน Android
  • เรียนรู้ระบบ Resource ใน Android
  • เรียนรู้เทคนิคการออกแบบ Layout ขั้นสูง
  • เรียนรู้การทำงานกับ Activity ใน Android แอพพลิเคชั่น
  • ฝึกฝนการวางโครงสร้างแอพแบบ MVC (Model-View-Controller)
  • เรียนรู้การทำงานกับ Fragmentation
  • เรียนรู้การสร้าง Menu
  • เรียนรู้การใช้งาน Action Bar
  • การใช้งาน Drawer Menu
  • การสร้าง Scrollable View และ Adapter View
  • Android เชื่อมต่อ Web Services
  • Android กับการจัดการโหลดรูปภาพ
  • การทำงานกับ Swipe Views
  • เรียนรู้การเก็บข้อมูลลง Android Data Storage
  • เรียนรู้ ProGuard
  • การเขียน Push Notification on Android
  • การติดตั้ง Google MapAPI V2.0 และระบบค้นหาแบบ GeoCoding และ Reverse GeoCoding
  • การใช้งาน Version Control บน Android Studio
  • การ Optimize Application และการนำขึ้น Android Marke (Google Play Store)
  • นักเรียนนักศึกษา
  • ครู อาจารย์ วิทยากรที่สนใจ
  • นักวิชาการ นักไอที หรือผู้ดูและระบบ
  • ตลอดจนผู้สนใจทั่วไปที่สนใจพัฒนาแอพพลิเคชั่นระบบ Android ด้วยภาษา Java และ Kotlin
  • มีความรู้ในการใช้งานคอมพิวเตอร์พื้นฐานเช่นการสร้างไฟล์ โฟลเดอร์ การลบ การเปลี่ยนชื่อไฟล์ต่างๆ
  • มีความรู้ในการใช้งานอินเตอร์เน็ตและการค้นคว้า
  • ผู้เรียนควรมีพื้นฐานการพัฒนาโปรแกรมมาบ้าง ไม่ว่าจะเป็น Java, .Net หรือภาษาอื่นๆ
  • รู้จักระบบปฎิบัติการ Android และเคยใช้งานมาก่อนบ้าง
  • 30 ชั่วโมง
  • ราคาปกติ 9,000 บาท / คน
  • โปรโมชั่นลด 10% เหลือ 8,100 บาท / คน
  • ราคาเหมาจ่าย (ผู้อบรมตั้งแต่ 10 คน) ตามแต่ตกลงกัน
  • ขอใบเสนอราคา

Module 1: แนะนำและเตรียมความพร้อมการเรียนรู้ Android

  • รู้จักระบบปฎิบัติการแอนดรอยด์ล่าสุดและแนวทางการพัฒนา
  • เรียนรู้ข้อผิดพลาดหลัก ๆ ที่นักพัฒนาแอนดรอยด์ควรรู้
  • การติดตั้งเครื่องมือ (Developer Tools) เช่น Java JDK, Android Studio, Emulator
  • การสร้างโทรศัพท์จำลอง (Emulator)
  • การเชื่อมต่ออุปกรณ์กับโปรแกรมพัฒนา Android Studio

Module 2: เริ่มโปรเจ็กต์แรกกับ Android (Hello World Project)

  • เรียนรู้ขั้นตอนการสร้างโปรเจ็กต์
  • เลือกรูปแบบโปรเจ็กต์ที่เหมาะสมสำหรับผู้เริ่มต้น
  • ทดสอบรันโปรเจ็กต์บน Emulator และอุปกรณ์จริง (มือถือและแท็บแลต)

Module 3: เจาะลึกโครงสร้างของโปรเจ็กต์ Android

  • แนะนำโครงสร้างโปรเจ็กต์รูปแบบต่าง ๆ
  • องค์ประกอบไฟล์ในโปรเจ็กต์ที่จำเป็นต้องรู้และเข้าใจก่อนเริ่มพัฒนาแอพพลิเคชั่น
  • รู้จักกับ Gladle และการทำงานกับเครื่องมือ Android Studio
  • การตั้งค่า Gladle ให้สามารถเพิ่มความเร็วในการคอมไฟล์โปรเจ็กต์ได้เร็วขึ้น

Module 4: ปรับทัศนะการออกแบบแอพ Android ระหว่างนักพัฒนาและดีไซน์เนอร์

  • แนวคิดการออกแบบแอพ Android
  • ทำความรู้จักรูปแบบแอพ Android และมาตรฐานการออกแบบที่ถูกต้อง
  • กฏเกณฑ์ที่ควรรู้ก่อนเริ่มออกแบบแอพ Android

Module 5: การออกแบบเลย์เอาต์ (Layout) สำหรับแอพ Android

  • แนะนำการออกแบบเลย์เอาต์
  • Linear Layout
  • Relative Layout
  • Frame Layout
  • เลย์เอาต์แบบอื่น ๆ
  • การกำหนดแพตเทิร์นในเลย์เอาต์
  • Workshop การออกแบบแอนดรอยด์แอพด้วย Layout แบบต่างๆ

Module 6: การทำงานกับวิว (View) ใน Android

  • รู้จักกับ View
  • Text View
  • Edit Text
  • Button
  • Checkbox and Radio Button
  • Progress bar
  • Switch and Toggle Button
  • Workshop การทำงานกับ View ใน Android

Module 7: การใช้งาน Debugging ใน Android Studio

  • Debug ในแอนดรอยด์ทำงานอย่างไร
  • การใช้งาน Log
  • การใช้งาน Toast

Module 8: การกำหนดหน่วยวัดใน Android

  • แนะนำหน่วยวัดที่ควรใช้ และไม่ควรใช้
  • รู้จักหน่วย DP และ DPI
  • การใช้หน่วย SP กำหนดขนาดตัวอักษร
  • การประยุกต์ใช้หน่วย px และ dp สื่อสารระหว่างนักออกแบบและนักพัฒนา

Module 9: ระบบรีซอร์ส (Resource) ใน Android

  • Resource คืออะไร
  • รู้จัก Drawable
  • รู้จักกับไฟล์ R Class
  • Layout and ID
  • Menu
  • Value
  • Animation
  • ระบบ Configuration ใน Android
  • แนวทางการออกแบบ Layout ที่ดี (Layout best practice)
  • Workshop การประยุกต์ใช้ Resource ออกแบบ Layout

Module 10: การทำงานกับวิว (View) เพิ่มเติม

  • Image Button
  • The 9 Path
  • Selector
  • Scroll View
  • Custom View
  • Custom Attribute
  • การใช้ Library ภายนอก (3 Party Library) ในการสร้างวิว 
  • Custom View Group
  • Workshop การออกแบบ Layout ด้วย View ตอนที่ 2

Module 11: เทคนิคการออกแบบ Layout ขั้นสูง

  • รู้จักคำสั่ง Include และ Merge
  • การใช้ Style ใน Android
  • รู้จักและปรับแต่ง Theme ของ Android

Module 12: Activity ใน Android

  • ทำความเข้าใจและรู้จัก Activity ใน Android
  • การเปลี่ยน Activity หรือการ Intent ไปยัง Activity อื่น ๆ
  • การส่งข้อมูลประเภทตัวแปร ออบเจ็กต์ผ่าน Activity
  • เรียนรู้ Task and Back Stack
  • ทำความเข้าใจ Activity Lifecycle
  • รู้จัก Acitivy’s instants State Saving/Restoring
  • CustomView’s State Saving/Restoring
  • Custom ViewGroup’s View Hierarchy State Saving/Restoring
  • Activity’s presistableMode
  • รู้จักการทำลาย (Terminate) หรือยกเลิก Activity
  • การรับค่ากลับจาก Activity ตัวที่สองมายังตัวแรก
  • การจัดการเมื่อมีการหมุนหน้าจอ
  • การจัดการกับคียร์บอร์ดบนหน้าจอ
  • การใส่ลูกเล่น Transittion ให้กับ Activity

Module 13: การเขียนโค๊ดด้วยโครงสร้างแบบ MVC

  • วางโครงสร้างโค๊ดของคุณด้วย Model-View-Controller (MVC)
  • ประกาศ Java Class ให้กับ Package
  • การทำงานระดับ Application
  • การใช้งาน Model as Singleton และ Contextor
  • การทำงานกับ Application Context และ Activity Context

Module 14: การทำงานกับ Fragmentation

  • Fragmentation ใน Hardware ของแอนดรอยด์
  • ความแตกต่างของ UI/UX ในมือถือและแท็บแลต
  • Fragmentation ใน OS
  • ทำความรู้จักและฝึกใช้งาน Android Support Library
  • การเขียนเงื่อนไขตรวจสอบเวอร์ชั่นใน Android

Module 15: เรียนรู้การทำงานกับ Flagment

  • เรื่องราวความเป็นมาก่อนมาเป็น Fragment
  • ประเภทการใช้งาน Fragment ทั้งแบบ Replace และ Backstack
  • เริ่มต้นสร้าง Fragment แรกพร้อมกับทำความเข้าใจ Fragment Lifecycle
  • การวางตัว Fragment บน Activity
  • การเข้าถึง Fragment จาก Activity ด้วยคำสั่ง FindFragmentById & findFragmentByTag
  • การทำงานกับ Fragment State Saving/Restoring
  • เรียนรู้ FragmentTansaction’s add() vs replace()
  • การเขียน Pop a Fragment from Backstack
  • การใช้ Fragment Transition
  • ทำความเข้าใจกับ FragmentTransaction’s attach() and detach()
  • เรียนรู้การแยกส่วนของ Application ใน Activity
  • Best Practices ของการ Save/Restore State ของ Activity และ Fragment

Module 16: Debugging เพิ่มเติม

  • การใช้งาน Step Debugging
  • การใช้งานเครื่องมือแจ้ง Debugging จากผู้ใช้ด้วย Crashlytics
  • การใช้ Android Device Monitor
  • UI Hirearchy
  • Memory Monitor

Module 17: เรียนรู้การสร้าง Menu

  • ทำความเข้าใจกับระบบ Menu ของ Android
  • การ inflate menu และใส่ event

Module 18: เรียนรู้การใช้งาน Action Bar

  • แนวคิดพื้นฐานของ Action Bar
  • การจัดการ Action Bar Activity และ Theme
  • การเพิ่มเมนูบน Action Bar
  • เรียนรู้การทำ Action View
  • Overlay Mode
  • ShareActionProvider
  • Navigation Tabs
  • Drop-Down Navigation
  • Up vs Back
  • Navigation Up To
  • Action Bar vs No Action Bar

Module 19: การใช้งาน Drawer Menu

  • แนวทางการใช้งาน Drawer Layout
  • ประยุกต์ใส่ ListView เข้า Drawer Menu

Module 20: การสร้าง Scrollable View และ Adapter View

  • ScrollView
  • ListView
  • ทำความเข้าใจกับ Adapter Based และ Best Practices
  • เรียนรู้ Garbage Collection
  • การทำงานกับ ListView ในรูปแบบต่าง ๆ
  • Multiple View Type
  • GridView
  • สร้าง Layout แบบ Pull to Refresh Enabled with SwipeRefreshLayout
  • การทำ Auto Load แบบอื่น ๆ

Module 21: Android เชื่อมต่อ Web Services

  • HttpClient vs HttpURLConnection
  • No more complicated: Kudo OkHttp
  • Introduction to Thread
  • User-permission
  • การดึงข้อมูลในแบบ XML/JSON format ซึ่งผ่าน Webserver ที่ติดต่อกับ MySQL,DB2, Oracle
  • การใช้ XML Paser
  • การใช้ JSON/GSON Paser
  • เทคนิคในการทำให้การ feed ข้อมูลทำได้เร็วและมีประสิทธิภาพ
  • การจัดการกับเรื่อง NewLine และ Special Character

Module 22: Android กับการจัดการโหลดรูปภาพ

  • Load Bitmap Loacally
  • Pitfall
  • Load Bitmap from internet, Old method:HTTP Request
  • New world:Picasso
  • What’s about Android Universal Image Loader?

Module 23: การทำงานกับ Swipe Views

  • แนวคิดการทำงานกับ Swipe Views
  • ทำความรู้จักกับ View Pager
  • แทนที่ Tab ด้วย SlidingTabLayout

Module 24: Android Data Storage

  • Internal Storage
  • External Storage
  • SharedPreferences
  • SQLite Databases
  • Preference, File, SQLite and Network Data Storage
  • การสร้าง และดักจับวัฏจักรของ Database
  • การเชื่อมต่อ และบริหารข้อมูลแบบ ORM (Object-Relational Mapping)
  • เข้าใจข้อจำกัดของ SQLite Database และเทคนิตที่ใช้แก้ไขปัญหาในทางปฏิบัติ
  • การใช้งานเครื่องในการ Import/Export Database
  • การใช้ SQLite Unix CommandLines
  • การใช้งานเครื่องมือในการวิเคราะห์หรือสร้างโครงสร้าง Sqlite Database
  • การแก้ไขปัญหาการ Import Database ที่ไม่ใช่ UTF-8
  • File
  • Play with Gallery:MediaScanner

Module 25: เรียนรู้ ProGuard

  • ProGuard คืออะไร
  • การเปิดใช้งาน ProGuard
  • การเขียนกฏและเงื่อนไขใน ProGuard

Module 26: Push Notification on Android

  • แนะนำให้รู้จักกับ GCM และ Firebase Messaging
  • ลงทะเบียนใช้งาน GCD ID
  • Handle Incoming Message:BroadcastReceiver
  • Build Notifications bases on message got

Module 27: การติดตั้ง Google MapAPI V2.0 และระบบค้นหาแบบ GeoCoding และ Reverse GeoCoding

  • การติดตั้ง Google Play services
  • การขอ Google Map key
  • การสร้าง Self-Sign Certificate พร้อมหลักการ Private/Public Key
  • การแสดงแผนที่ผ่าน Fragment แบบเจาะลึก
  • การวาดภาพ Polygon ตามพิกัดบนแผนที่
  • การคำนวณหาพื้นที่ตารางเมตรใน Polygon
  • การทำ Google StreetView
  • การทำ Map Animation
  • การจำลองพิกัดและข้อมูลต่างๆ ผ่าน Android Simulator แบบ Genymotion

Module 28: การใช้งาน Version Control บน Android Studio

  • การตั้งค่า Git Version Control
  • การเริ่มต้นเปิดใช้งาน Git กับโปรเจ็กต์บน Android Studio
  • Git Add Remote Server
  • Add to VCS (gid add)
  • Commit Changes (git commit)
  • Git Push (git commit)

Module 29: การ Optimize Application และการนำขึ้น Android Market

  • การสร้าง KeyStore
  • ขั้นตอนการ Sign Application แบบเจาะลึกเพื่อสามารถเขียนเป็น script file ได้
  • การสมัคร Android Developer Program
  • Pattern การทดสอบแอพพลิเคชันก่อนนำขึ้น Android Market แบบมาตรฐาน
  • Security พื้นฐานก่อนนำขึ้น

Module 30: Live Workshop

22/07/2020 18:05:02