Android

Beauty

  1. การใช้งาน Tab แบบปัดซ้าย-ขวาได้
  2. การแสดง Splash Screen ที่ถูกต้องด้วย LayerList
  3. สร้างโปรเจ็กส์ใหม่แบบ Tabbed Activity (Action Bar with View Pager)
  4. การสร้าง Custom Toolbar
  5. การสร้าง Navigation Drawer
  6. การจัดการ ListView Item (search, add, edit, remove)
  7. การสร้าง Custom ListView แบบ Multiple Layout
  8. การสร้าง RecyclerView เบื้องต้น
  9. การสร้าง RecyclerView แบบ Multiple Layout
  10. การสร้างภาพ Drawable กับ RecyclerView
  11. การใช้ CardView กับ RecyclerView
  12. การเข้าถึงรายการใน RecyclerView
  13. Job-Scheduling
  14. การใช้ AsyncTask
  15. การสร้าง AutoComplete

และ SQL , Network

material.io – Bottom navigation

KT: Scroll your Bottom Navigation View away with 10 lines of code

Android – Gestures

การตรวจจับอีเวนต์ Gesture

Android: การส่ง key (simulate key press)

การใช้ไลบรารี่ Material Calendar View เพื่อแสดงปฏิทิน

Material Components & Link ดีๆ

ยุคสมัยแห่ง X กูเกิลเปิดตัว AndroidX ชื่อใหม่ของ Android Support Library

การดูไฟล์ใน AVD

Android Device Monitor

ไว้ค้นหา code ที่ commit เข้า core ของ android

https://android.googlesource.com/platform/frameworks

แอพนับเลขขึ้น-ลง (PS – Android – แอพ Counter)

การใช้ AsyncTask

การใช้งาน RadioButton

การสร้าง SegmentView ด้วย Drawable (ใช้ RadioButton วาด)

การสร้าง AutoComplete
การสร้าง Clearable EditText
ปรับแต่ง Spinner ด้วย TextView
การใช้ Custom Font
การสร้าง MessageBox โดยใช้ Popup Window

Old
รวมลิงค์สำหรับ Android Developer
Android Emulator : Keyboard Commands
ส่งอีเมล์
Popup Menu
Spinner
Auto-complete Suggestions
How to change target emulator in Android Studio?
คำสั่ง ADB

เจ๋ง akexorcist.com/

เจ๋ง [Android Dev Tips] ปัญหา Translucent Window บน Android 8.0 Oreo ที่นักพัฒนาไม่ควรมองข้าม ทำเป็น Fragment น่าจะดี

ทั่วไป

  1. ตรวจสอบค่าตัวแปร JAVA_HOME และ ANDROID_HOME
  2. Dark Theme การเปลี่ยน Theme

Kotlin

  1. Link
  2. สร้างโปรเจ็กส์ใหม่รอบรับ Kotlin

พื้นฐาน

  1. ดู Activity Lifecycle  Activity Lifecycle

1. สร้างโปรเจ็กส์ใหม่

No Java Kotlin Project
1 Java Kotlin สร้างโปรเจ็กส์ใหม่แบบ Empty Activity
2 Java สร้างโปรเจ็กส์ใหม่แบบ Bottom Navigation Activity
3 Java Kotlin สร้างโปรเจ็กส์ใหม่แบบ Basic Activity
4 Java สร้างโปรเจ็กส์ใหม่แบบ Tabbed Activity (Action Bar with View Pager)

 

2. การจัดการอีเวนต์ (Event Handling)

No Java Kotlin Project
1 Java Kotlin การจัดการอีเวนต์ ด้วยการ implements View.OnClickListener
2 Java Kotlin การจัดการอีเวนต์ ด้วยการสร้าง Class ขึ้นมาใหม่
3 Java Kotlin การจัดการอีเวนต์ ด้วยการสร้าง Anonymous Class vs lambda
3 Java การจัดการอีเวนต์ ด้วยการสร้าง Method ขึ้นมา
4 —– Kotlin *** การจัดการอีเวนต์ แบบไม่ต้องสร้างตัวแปรก่อน
5 Java Kotlin การจัดการอีเวนต์ โดยใช้ android:onClick
6 Java Kotlin การจัดการ View ด้วย view.getId()

 

3. Start another activity

No Java Kotlin Project Link
1 Java Kotlin การเรียกใช้งานแอคทิวิตี้อื่น 1
2 Java Kotlin การเรียกใช้งานแอคทิวิตี้อื่นพร้อมส่งข้อมูลไปให้ 1
3 Java การส่งข้อมูลกลับมาให้แอคทิวิตี้ต้นทาง
4 Java Kotlin การเรียกใช้งานแอคทิวิตี้อื่น และส่งข้อมูลกลับมา J2

Launcher Activity and Splash Screen

No Java Kotlin Project Link
1 Java การตั้งค่า Launcher Activity
2 Java การสร้าง Splash Screen
3 Java การแสดง Splash Screen ที่ถูกต้องด้วย LayerList

 

4. Toast

No Java Kotlin Project Link
1 Java Toast แบบปรับแต่งได้ 1
2 Java การแสดง Toast ให้นานขึ้น
3 Java การปรับแต่ง Toast ด้วยการสร้างคลาสแยก
4 Java Kotlin การกำหนดตำแหน่งแสดง Toast 1
5 —– Kotlin การใช้ไลบรารี่ anko เพื่อเรียกใช้ toast

 

5. Simple UI

No Java Kotlin Project Link API
1 Java Kotlin สร้าง TextView แบบ programmatically KT
2 Java Kotlin กำหนดให้ตัวอักษรใน TextView – Justify Text KT 26
3 Java Kotlin สร้าง Button แบบ programmatically KT
4 Java Kotlin กำหนด All Caps ให้ Button KT
5 XML ใส่ Style ให้ Button KT
6 Kotlin เปลี่ยน Background ของ Button ด้วย Kotlin KT
7 Java Kotlin สร้าง EditText แบบ programmatically KT
8 Java Kotlin EditText รับอีเวนท์ onTextChanged() KT
9 XML Label ใน EditText ใช้ TextInputLayout KT
10 Java การใช้ EditText ร่วมกับ Soft Keyboard
11 Java การซ่อน Soft Keyboard เมื่อ Focus ที่ EditText
12 XML EditText ที่ Soft Keyboard แสดงแต่ตัวเลข KT
13 Java Kotlin EditText ที่ แสดง หรือ ซ่อน password KT
14 Java Kotlin RadioGroup และ RadioButton แบบ programmatically KT
15 Kotlin การใช้ SeekBar KT
16 Kotlin การกำหนด Custom Range ให้ SeekBar KT
17 Java Kotlin การใช้ ProgressBar ใช้ Thread KT
18 Kotlin การใช้งาน Snackbar KT
19 Java การใช้ ListView
20 Java การใช้ ListView ใน ScrollView

 

6. Drawable

No Java Kotlin Project Link
1 XML Button : shape : ใส่ Style ให้ Button KT
2 Java TextView, View : shape : การใช้งาน Shape
3 Java EditText : shape : ใส่ Style ให้ EditText
4 XML TextView : shape : การทำให้พื้นหลังโปร่งใส
5 XML Button : shape, style : การใช้ Shape ร่วมกับ Style
6 XML View : shape : การกำหนดพื้นหลัง Gradient แบบ linear
7 XML LinearLayout, Button, View : shape : การกำหนดพื้นหลัง Gradient แบบ radial
8 Java Button, ListView : selector, shape : การใช้ StateList
9 XML Button : ripple, shape : การทำ Ripple touch effect
10 XML LinearLayout, EditText : layer-list, selector, shape : การใช้งาน LayerList
11 Java : layer-list, bitmap, style : การแสดง Splash Screen ด้วย LayerList

 

7. Intent

No Java Kotlin Project Link
1 Java การรันบราวเซอร์โดยใช้อินเทนต์ Intent.ACTION_VIEW, setOnKeyListener()
2 Kotlin เปิด browser ด้วยการส่ง url ไปกับ Intent.ACTION_VIEW KT
3 Java การแชร์ช้อความออกด้วย Intent.ACTION_SEND
4 Java สร้าง QR Code บันทึกภาพลงเครื่อง และแชร์ภาพออกด้วย Intent.ACTION_SEND
5 Java เลือกเปิดเท็กซ์ไฟล์จากในเครื่องด้วย Intent.ACTION_OPEN_DOCUMENT
6 Java เลือกเปิดไฟล์ภาพจากในเครื่องด้วย Intent.ACTION_OPEN_DOCUMENT

 

8. แสดงไดอะล็อก (Dialog)

No Java Kotlin Project Link
1 Java Kotlin การแสดงไดอะล็อก Yes/No ด้วย AlertDialog KT
1 Kotlin การแสดงไดอะล็อก Yes/No/Cencel ด้วย AlertDialog KT
2 Java แสดงไดอะล็อกตัวเลือกแบบ Single choice
3 Java แสดงไดอะล็อกตัวเลือกแบบ Multiple choice
4 Java แสดงไดอะล็อกปรับแต่งเอง Custom dialog
5 Java แสดงไดอะล็อกโปรเกรส ProgressDialog ใช้ Thread

 

9. การใช้เว็บวิว (WebView)

No Java Kotlin Project Link
1 Kotlin การฝังบราวเซอร์ในแอพโดยใช้เว็บวิว WebView KT
2 Java ฝังเว็บวิว WebView เพื่อแสดงกราฟ (Graph)
3 Java การใช้จาวาในแอนดรอยด์เรียกจาวาสคริปต์ในเว็บเพจและกลับกัน addJavascriptInterface()

Activity และ Screen

  1. การตรวจสอบขนาดของหน้าจอ
  2. การกำหนดสีพื้นหลัง (background)
  3. กดปุ่มย้อนกลับ 2 ครั้ง ถึงจะออกจากแอพ
  4. การออกจากแอบแบบต่างๆ
  5. การจัดเก็บสถานะของ Activity เมื่อหมุนหน้าจอ

Basic Libraries

  1. การสร้างอักษรวิ่งขึ้นด้วย Marquee View
  2. การสร้าง Tooltip ด้วย Simple Tooltip
  3. การใช้ไลบรารี Segment Control
  4. การใช้ไลบรารี Slide Switch
  5. การใช้ไลบรารี Process Button
  6. การใช้ไลบรารี Material Spinner
  7. การใช้ไลบรารี ScollableNumberPicker
  8. การใช้ไลบรารี ShapeImageView
  9. การใช้ไลบรารี TriangleLabelView
  10. การใช้ไลบรารี DateTimePickerEditText

Animation

  1. การทำ Animation (Rotate)
  2. การทำ Animation (Scale)
  3. การทำ Animation (Alpha)
  4. การทำ Animation (Translate)
  5. การทำ Animation (Interpolator)
  6. การใช้คลาส AnimatorSet
  7. การสร้าง Animation ด้วย XML View Animation

Layout และ ScrollView

  1. การใช้ LinearLayout , การใช้แบบ Programmatically
  2. การใช้ FrameLayout
  3. การใช้ TableLayout , การใช้แบบ Programmatically
  4. การใช้ GridLayout , การใช้แบบ Programmatically
  5. การจัดการ RelativeLayout แบบ Programmatically
  6. การวางโครงร่างแบบ Nested Layout
  7. การใช้ ScrollView
  8. การสร้าง Layout แบบแยกแนวตั้งและแนวนอน

Fragment & Dialog

  1. การทำ Static Fragment
  2. การทำ Dynamic Fragment
  3. การใช้ Fragment Transaction
  4. การจัดเก็บ Fragment ไว้ใน Back Stack
  5. การใช้ UI ของ Fragment
  6. การส่งค่า Argument ไปยัง Fragment
  7. การสร้าง Dialog Fragment
  8. การสร้าง Confirm Dialog Fragment
  9. การสร้าง Single Choice Dialog Fragment
  10. การสร้าง Multiple Choice Dialog Fragment
  11. การสร้าง Custom Dialog Fragment

ViewPager & Page Transition

  1. การใช้ ViewPager เบื้องต้น
  2. การใช้ไลบรารี PageIndicatorView
  3. การใช้ไลบรารี SegmentedButton กับ ViewPager
  4. Error การใช้ไลบรารี EasyTab กับ ViewPager
  5. การใช้ ViewPager แบบไม่มี Fragment (ใช้ไลบรารี PageIndicatorView)
  6. การทำ Fragment Transition
  7. การทำ Dialog Fragment Transition
  8. การใช้ไลบรารี ViewPagerTransformer
  9. การใช้ไลบรารี FragmentAnimations

Navigation & Scrolling Effect

  1. การจัดรูปแบบเมนู Main, Popup และ Context
  2. การสร้าง Custom Toolbar
  3. การทำ Collapsing Toolbar และ Parallax Effect
  4. การใช้ TabLayout ร่วมกับ Collapsing Toolbar
  5. การแสดงปุ่ม FAB ให้สัมพันธ์กับการเลื่อนเพจ
  6. การสร้างและแสดง Bottom Sheet แบบต่างๆ
  7. การสร้าง Navigation Drawer
  8. การใช้ไลบลารี Floating Toolbar และ Floating Navigation View (อลังการ)
  9. การใช้ไลบลารี AHBottomNavigation

Custom ListView & GridView

  1. การจัดการ ListView Item (search, add, edit, remove)
  2. การทำ Custom ListView เบื้องต้น
  3. การใช้ ViewHolder ร่วมกับ Custom ListView
  4. การเข้าถึงรายการของ Custom LIstView
  5. การสร้าง Custom ListView แบบ Multiple Layout
  6. การสร้าง Expandable ListView
  7. การสร้าง Custom GridView

RecyclerView & CardView

  1. การสร้าง RecyclerView เบื้องต้น
  2. การสร้าง RecyclerView แบบ Multiple Layout
  3. การสร้างภาพ Drawable กับ RecyclerView
  4. การใช้ไลบรารี ImageLetterIcon (ไลบรารีมีปัญหา)
  5. การใช้ CardView กับ RecyclerView
  6. การเข้าถึงรายการใน RecyclerView
  7. การใช้ Layout Manager แบบต่างๆ
  8. การสร้างรายการแบบ 2 ทิศทาง
  9. การสร้างรายการแบบ Endless Scrolling
  10. การทำ Drag & Drop กับ RecyclerView

Addition Libraries

  1. การใช้ไลบรารี SimplePermissions
  2. การใช้ไลบรารี FilePicker
  3. การใช้ไลบรารี Multimager
  4. การ Crop ภาพโดยใช้ไลบรารี Simple Storage และ Image Cropper
  5. การบีบอัดภาพด้วย SiliCompress
  6. การใช้ไลบรารี MaterialBradgeTextView ***
  7. การใช้ไลบรารี Badger **
  8. การใช้ไลบรารี ShortcutBadger

SQLite Database

  1. การใช้ SQLite CRUD
  2. การใช้ SQLite หลายตาราง และรูปภาพ
  3. การจัดเก็บรายการ ListView ด้วย SQLite
  4. การจัดเก็บรายการ RecyclerView ด้วย SQLite
  5. การแสดงรายการข้อมูลจาก SQLite แบบ Endless Scrolling

Network & Http Server

  1. การโหลดและแสดงรูปภาพจากเครือข่าย
  2. การรับส่งข้อมูลกับเซิร์ฟเวอร์ในแบบ String
  3. การรับข้อมูลแบบ Json และแสดงข้อมูลด้วย RecyclerView
  4. การอัปโหลดไฟล์
  5. การดาวน์โหลดไฟล์

อื่นๆ

  1. การทำ Unit test
  2. การแจ้งเตือน (Notification)
  3. การใช้ฐานข้อมูล SQLite
  4. การนำ APK ไปติดตั้ง
  5. การใช้งาน Services
  6. Text to Speech

อื่นๆ Java

  1. การคำนวณระยะทางระหว่างจุดสองจุด (latitude-longitude points)

การซ่อน TitleBar และทำ FullScreen

  1. การซ่อน TitleBar
  2. การทำ FullScreen
  3. การซ่อน TitleBar และทำ FullScreen
  4. การซ่อน TitleBar และทำ FullScreen ที่ดีกว่าด้วยการใช้ setSystemUiVisibility()
  5. การซ่อน FAB, ActionBar, StatusBar และ Navigation

Permission

  1. การขอ Permission
  2. การขอหลายๆ Permission

การรับ SMS ใหม่ที่เข้ามา (Receive Incoming SMS)

Tab

ListView

Spinner

Firebase

  1. การใช้งาน Firebase
  2. การเขียน Firebase แบบ Key-Value
  3. การเขียน Firebase แบบปรับแต่ง (Custom)
  4. การเขียน Firebase ด้วย updateChildren()

QR Code

  1. สร้าง QR Code และ Barcode โดยใช้ Zxing
  2. สร้าง QR Code และบันทึกภาพลงเครื่อง
  3. สร้าง QR Code บันทึกภาพลงเครื่อง และแชร์ภาพออกด้วย Intent
  4. อ่าน QR Code
  5. การอ่าน Barcode/QR Code ด้วยไลบรารี ZXing (คนละอันกับอันอื่น)

Advance

  1. การติดตั้ง OpenCV Android SDK ใน Android Studio
  2. Building TensorFlow on Android

developer.android.com

  1. Job-Scheduling

Link

Article

  1. กูเกิลเปิดตัวโครงการ Capillary ไลบรารีเข้ารหัสข้อความไม่ให้เซิร์ฟเวอร์ push อ่านได้
  2. #31DaysOfKotlin — Week 1 Recap
  3. 5 Amazing Android Apps for Android Developers & Designers
  4. 10 Trends That Are Going To Drive Android App Development In 2018
  5. เลือกเปิดอ่านไฟล์ CSV จากในเครื่อง

การติดตั้ง Apache Maven บน Windows 10