មាតិកា
I. សេចក្តីផ្តើម
II. គោលបំណង
III. តម្រូវការ
IV. របៀបបង្កើត Android Project
V. ជំហានទី១៖ បង្កើត Layout សម្រាប់ Search
VI. ជំហានទី២៖ សរសេរកូដក្នុង MainActivity
VII. លទ្ទផល
I. សេចក្តីផ្តើម
នៅក្នុងមេរៀននេះយើងនឹងបង្ហាញលោកអ្នកអំពីការប្រើប្រាស់ AutoCompleteTextView នៅក្នុង Android ដែលអាចអោយលោកអ្នកងាយយល់និងសិក្សាពីលើវាបន្ថែមទៀត។ តើយើងប្រើ AutoCompleteTextView ដើម្បីអ្វី? ដូចដែលលោកអ្នកបានដឹងស្រាប់ហើយ ជាក់ស្តែងនៅក្នុង Search Engine របស់ Google នៅពេលដែលយើងធ្វើការវាយនូវ Keyword ណាមួយដែលចង់ស្វែងរក នោះវានឹងផ្តល់នូវ Suggestion ពាក្យឬក៏ឃ្លាដែលមានន័យស្រដៀងគ្នាមកអោយយើងឃើញ។

II. គោលបំណង
ក្រោយពីអនុវត្តន៍តាម Tutorial នេះ លោកអ្នកនឹងយល់អំពី
- យល់ដឹងអំពីរបៀបបង្កើត Project នៅក្នុង Android Studio
- យល់ដឹងពីរបៀបបង្កើត Layout
- យល់ដឹងអំពីការប្រើប្រាស់ AutoCompleteTextView
- យល់ដឹងពីរបៀបប្រើប្រាស់ Toast
- យល់ដឹងពីការប្រើប្រាស់ ArrayAdapter
III. តម្រូវការ
ដើម្បីអាចបង្កើត Android Project បាន យើងត្រូវមាន៖
- កម្មវិធី Android Studio (version 3.2.1)
- ត្រូវមាន Internet connection (ករណីដែលយើងចង់ធ្វើការប្រើប្រាស់ gradle ដើម្បីទាញយក library និងករណីផ្សេងៗចាំបាច់ទៀត)
- Maximum RAM យ៉ាងហោចណាស់ 4GB ឡើង
- CPU គួរតែជាប្រភេទ intel CORE i3 ឡើងទៅ ទើបប្រសើរ
- គួរមាន Hard Disk ប្រភេទ SSD ទើបវាពន្លឿនក្នុងការ run android project បានរលូន
- ត្រូវមាន phone ដែលប្រើប្រាស់ប្រតិបត្តិការ android
- ករណីដែលយើងគ្មាន Phone ដែលប្រើប្រាស់ប្រតិបត្តិការ Android ទេ យើងក៏អាចធ្វើការប្រើប្រាស់ Genymotion សម្រាប់ធ្វើជា Emulator
IV. របៀបបង្កើត Android Project
ខាងក្រោមនេះគឺជារបៀបបង្កើត Android Project នៅក្នុង Android Studio
- បើកកម្មវិធី Android Studio ឡើង

- ចុចលើ Start a new Android Studio project

- ចុច Next

- ក្នុងរូបខាងលើនេះ យើងអាចធ្វើការ build app ជាមួយ៖
- Phone and Tablet
- Wear OS
- TV
- Android Auto
- Android Things
- ក្នុងករណីនេះ សូមធ្វើការ Build app ជាមួយប្រភេទទូរស័ព្ទ ដោយរើសយក Phone and Tablet រួចជ្រើសរើសយកប្រភេទ Android version ណាមួយដែលយើងចង់បាន
- ចុច Next

- យើងអាចរើសយកប្រភេទ template ណាមួយក៏បានដែល
- ក្នុងនេះ ខ្ញុំយក Basic Activity
- ចុច Next

- យើងអាចធ្វើការប្តូរឈ្មោះ Activity Name, Layout Name ហើយនិង Title ទៅតាមចំណង់ចំណូលចិត្តអ្នក
- ក្នុងករណីនេះ ខ្ញុំសូមយកឈ្មោះ default របស់វា
- ចុច Finish

- សូមធ្វើការរង់ចាំ ដើម្បីអោយវាធ្វើការ generate រាល់នូវ dependencies របស់ Project
- បន្ទាប់មកវានឹងបង្ហាញរូបរាងដូចខាងក្រោម

V. ជំហានទី១៖ បង្កើត Layout សម្រាប់ Search
សូមលោកអ្នកធ្វើការបង្កើត Layout មួយដើម្បីអោយ User អាចធ្វើការបញ្ចូលពាក្យដែលគាត់ចង់ Search។
- ចូលទៅកាន់ Layout
- យក activity_main.xml

- បន្ទាប់មកទៀតសូមសរសេរកូដក្នុង XML ដើម្បីបង្កើត Control និមួយៗ

VI. ជំហានទី២៖ សរសេរកូដក្នុង MainActivity
នៅត្រង់ចំនុចនេះយើងនឹងបង្ហាញនូវ Logic ដើម្បីអាចបង្កើត បានដោយត្រូវ:
- បង្កើត instances របស់ AutoCompleteTextView
- បង្កើត instances របស់ TextView
- ប្រើប្រាស់នូវ ArrayAdapter សម្រាប់បង្ហាញនូវ Suggestion Items នៅក្នុង AutoCompleteTextView
- បង្កើតនូវ Array សម្រាប់ផ្ទុករាល់ Countries ផ្សេងៗដើម្បីផ្តល់ជា Suggestion
- បន្ទាប់មកទៀតយើងនឹងធ្វើការ implement នូវ AdapterView.OnItemClickListener ហើយ set នូវ method onItemClickListener() ទៅលើ AutoCompleteTextView ដើម្បីទទួលយកតម្លៃដែល User ជ្រើសរើសពីក្នុង List
- សូមបើកនូវ MainActivity.java រួចធ្វើការសរសេរកូដដូចខាងក្រោម

- សូមធ្វើការសរសេរកូដនៅក្នុង method “onItemClick()”

VII. លទ្ទផល
សូមដំណើរការកម្មវិធីឡើង ពេលនោះយើងនឹងទទួលបានដូចរូបខាងក្រោម
- រូបភាពដែលមិនទាន់បានបញ្ចូលអ្វីទាំងអស់

- ករណីដែលយើងវាយបញ្ចូលអក្សរ

ករណីដែលយើងរើសយកពាក្យណាមួយ
