รับทำแอพ Android

เป็นระบบที่มีส่วนแบ่งในตลาดโทรศัพท์มือถือไปแล้วเกือบ 88% ทั่วโลก ซึ่งเป็นระบบหนึ่งที่มีความสำคัญในการรับทำแอพ  ด้วยภาษาที่ใช้จะเป็น java ร่วมกับ SDK android ของทาง google และเครื่องมือที่ใช้จะเป็น android studio ที่รองรับการพัฒนาการ ดีบักและตัว emulator สำหรับในการทดสอบ application  โดยในปัจจุบันมีการพัฒนาขึ้นมากทำให้มีการใช้งานได้ง่ายความเร็วสูงและมีตัว play store มาพร้อม ทำให้การทดสอบ application ทำได้ง่ายขึ้น

การติดตั้ง android studio

สามารถดาวน์โหลดได้จากเว็บไซต์ developer.android.com และใช้งานได้ฟรี โดยรองรับทั้งระบบ windows, linux และ mac  ด้วยการติดตั้งสำหรับ windows จะเป็นไฟล์ exe เมื่อดาวน์โหลดมาแล้วสามารถดับเบิ้ลคลิกเพื่อทำการติดตั้งได้เลย หรือจะเป็นในส่วนของ mac จะเป็นไฟล์ dmg ก็สามารถที่จะคลิกและติดตั้งได้ง่าย

ดาวน์โหลด Android Studio

ส่วนในการติดตั้งสำหรับ linux นั้น จะดาวน์โหลดมาเป็นไฟล์ zip แล้วทำการแตก zip ออกมาย้ายไปไว้ที่ folder /opt  

sudo mv android-studio /opt/

จากนั้นทำการรันตัวโปรแกรม studio.sh เพื่อเริ่มการติดตั้ง

/opt/android-studio/bin/studio.sh

ถัดมาติดตั้ง packages ที่จำเป็นสำหรับการใช้งาน Android Studio

sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386

และเพื่อให้มีการใช้งาน emulator ได้ดีจะต้องมีการติดตั้ง feature ที่ชื่อว่า kvm สำหรับ linux ด้วย

 

การติดตั้ง feature kvm บน linux

ตัวอย่างจะเป็น linux mint เริ่มด้วยการทดสอบว่า cpu รองรับฟีเจอร์ kvm หรือไม่ด้วยคำสั่ง

kvm-ok

หากรองรับการใช้งาน kvm จะขึ้นแสดงว่า

INFO: /dev/kvm exists

KVM acceleration can be used

จากนั้นเริ่มทำการติดตั้ง package ด้วยคำสั่ง

sudo apt-get install qemu-kvm libvirt-bin bridge-utils

ทำการเพิ่ม group ของ user ที่จะใช้ฟีเจอร์ kvm ให้อยู่ในกรุ๊ป libvirtd ด้วยคำสั่ง

sudo adduser username libvirtd

จากนั้นทำการ logout จากระบบและล็อกอินกลับเข้ามาใหม่ทดสอบว่าสามารถใช้ฟีเจอร์ kvm ได้ด้วยคำสั่ง

virsh -c qemu:///system list

หากสามารถใช้งานได้จะเป็นการแสดง table ของตัว emulator ที่มีการใช้งานอยู่

Id    Name                           State

----------------------------------------------------

 

การสร้างช็อตคัต android studio ใน start menu

ให้ทำการเปิดโปรแกรม android studio ขึ้นมาจากนั้นทำการสร้างโปรเจคต่อเปล่าเพื่อให้เข้าไปหน้าจอในการเขียนโค้ดจากนั้นไปที่

Tools->Create Desktop Entry...

เพื่อทำการสร้าง shortcut ตรวจสอบโดยเข้าไปที่ start menu แล้วค้นหา android studio หากยังไม่พบให้ทำการ logout และ login กลับเข้ามาใหม่

 

การสร้างโปรเจคใน android studio

ตัวชื่อแอพพลิเคชั่นจะเป็นตัวอักษรตัวใหญ่โดยสามารถที่จะเว้นวรรคระหว่างคำได้ ส่วนที่สำคัญคือ company domain ตัวนี้จะเป็นชื่อ package name ด้วยและจะเป็นชื่อของโฟลเดอร์ที่จะอยู่ในเครื่องโทรศัพท์มือถือซึ่งชื่อนี้ทุกแอพพลิเคชั่นต้องไม่ซ้ำกันโดยทาง android studio จะแนะนำให้ใช้เป็น domain name ที่เราทำการจดเพื่อเปิดเว็บไซต์เพราะว่าตัวโดเมนเนมที่จดทะเบียนจะไม่มีการซ้ำกันอยู่แล้ว แต่ในการรับทำแอพพลิเคชั่นบางครั้งถ้าเราไม่ได้มีการจดทะเบียนโดเมนเอาไว้เราก็สามารถที่จะใช้เป็นโดเมนฟรีได้ยกตัวอย่างเช่นเราอาจจะไปสมัคร blogger.com แล้วเราตั้งชื่อว่าอะไรอย่างเช่น xyz .blogger.com  แบบนี้ก็ได้เพราะหากเราสามารถสมัครชื่อ xyz ได้ใน blogger นั่นหมายความว่า domain นี้ก็จะไม่มีซ้ำเหมือนกัน หรือถ้าไม่ต้องการที่จะสมัครก็ควรจะตั้งชื่อเป็นตัวอักษรยาวและยากไว้เพื่อป้องกันการซ้ำกันของ package name และโฟลเดอร์ที่จะอยู่ในเครื่องโทรศัพท์

สร้างโปรเจค

ถัดมาจะเป็นการเลือกว่าระบบเราจะรองรับอุปกรณ์ใดบ้าง โดยปกติในการรับทำแอพเราจะรองรับในส่วนที่เป็นโทรศัพท์มือถือและแท็บเล็ต

เลือกอุปกรณ์ที่รองรับ

จากนั้นจะเป็นการเลือกว่า application ของเราจะรองรับ api ต่ำสุดที่ api เท่าเท่าไร  ในการรับทำแอพถ้าเราเลือก api ต่ำมากเท่าไร เราจะรองรับโทรศัพท์มือถือได้มากขึ้นเท่านั้นด้วยในปัจจุบันหากเราเลือกเป็น api 15 แล้วจะลองรับโทรศัพท์มือถือได้ทั้งหมดที่มีอยู่ในตลาด

เลือกเวอร์ชั่น Android ที่รองรับ

โดยข้อที่เราจะนำมาพิจารณาว่าจะเลือก api ที่สูงขึ้นนั้น เราโดยจะเลือกจากตัวฟีเจอร์ที่เราต้องการใช้ในการรับทำแอพยกตัวอย่างเช่น ถ้าเราต้องการรับทำแอพพลิเคชั่นระบบสองซิมซึ่งตัวแอพของเราอาจจะมีการอ่านข้อมูลของ sms ในโทรศัพท์ระบบสองซิม เราก็จะใช้เป็นตัว api ต่ำสุดที่ 22 เพื่อให้มีการรองรับระบบสองซิมสำหรับในการรับทำแอพ

จากนั้นเลือกตัว template ที่จะใช้ในการเริ่มต้น สำหรับในแต่ละรูปแบบของ application ที่เรารับทำแอพ โดยในตัวอย่างนี้เราจะเป็นการสร้างแอพพลิเคชั่น hello world ง่ายๆโดยจะมี textview และ button เท่านั้นเราจึงเลือกเป็น empty activity

 

ตัวอย่างโปรเจค hello world

activity หลักจะประกอบไปด้วยไฟล์ class java และ ไฟล์ xml สำหรับใช้ในการออกแบบตัว UI ในตัวอย่างนี้จะมี textview สำหรับที่ใช้ในการแสดงข้อความและ button ในการกดเพื่อให้เกิด event ในการเปลี่ยนข้อความใน textview

 

โดยในการทำงานเริ่มต้นเราจะทำการสร้างตัวแปรใน java class เพื่อรองรับการชี้ไปยัง textview และ button ที่อยู่ใน xml  เพื่อใช้ในการอ้างอิงสำหรับในการเขียนโค้ดต่อไป ฉะนั้นมีการเพิ่มในส่วนของ event ของ button เพื่อใช้ในการเปลี่ยนข้อความใน textview

สำหรับในการออกแบบตัวยูไอนั้นจะมีรายละเอียดค่อนข้างมากโดยในการรับทำ app ของเราโดยส่วนใหญ่เราจะใช้ LinearLayout แม้จะเป็นเลยเอาที่ไม่สามารถใช้ในการลากและวางตำแหน่งได้ต้องใช้การเขียนโค้ด xml เพื่อทำการจัดตำแหน่งแต่ในการออกแบบนั้นจะมีความสะดวกกว่า RelativeLayout ที่สามารถจัดวางได้มากกว่า ทำให้ในการรับทำ app ของเราส่วนใหญ่จะใช้ LinearLayout

 

การสร้าง emulator เพื่อใช้ในการทดสอบ application

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

เริ่มสร้างโดยไปที่แถบเมนูด้านบนให้เลือกเป็นเครื่องมือ emulator โดยจะมีหน้าต่างขึ้นมาเพื่อใช้สำหรับในการสร้างตัว emulator  ตัวเลือกแรกที่เราจะเลือกคือเราจะเลือกขนาดว่าเป็นโทรศัพท์ แท็บเล็ตหรือนาฬิกา โดยในส่วนของโทรศัพท์หรือแท็บเล็ตจะมีให้เลือกว่าเป็นขนาดกี่นิ้วด้วย  จากนั้นจะเป็นการเลือกตัวเวอร์ชั่นของ android ที่จะใช้ใน emulator  ด้วย 5 แอนดรอยเวอร์ชั่นนั้นยังไม่เคยมีการดาวน์โหลดมาก่อนจะต้องมีการดาวน์โหลด android เพื่อมาเก็บไว้ในครั้งแรกโดยในครั้งต่อไปหากมีการสร้างตัวแท็บเล็ตหรือโทรศัพท์ที่ใช้ android เวอร์ชั่นเดิมก็ไม่จำเป็นต้องดาวน์โหลดใหม่

หลังจากที่มีการดาวน์โหลดตัว android เวอร์ชั่นและทำการสร้างตัว emulator แล้วให้เราทำการสตาร์ทตัว emulator ขึ้นมา จะมีหน้าจอคล้ายกับในโทรศัพท์มือถือซึ่งใน emulator รุ่นใหม่นี้จะมีตัว play store ติดตั้งมาให้แล้วซึ่งสะดวกต่อการใช้ในการทดสอบ application ที่ต้องมีการใช้ api ของ play store เช่นในเรื่องของการทำการโฆษณา (Admob)