วันจันทร์ที่ 21 พฤศจิกายน พ.ศ. 2554

เลือกใช้อุปกรณ์

การทดสอบแอพพลิเคชั่นที่เราเขียนนั้น บางทีทดสอบด้วย Emulator อาจจะไม่เพียงพอ จากที่ลองใช้งานกับ PC เสป็คปานกลาง มีความรู้สึกว่า Emulator ทำงานค่อนข้างช้า เหมาะสำหรับทดสอบโมดูลย่อยๆ หรือแอพพลิเคชั่นเล็กๆ ส่วนแอพที่เราสร้างสำเร็จแล้ว นำไปลงในอุปกรณ์แอนดรอยด์จริงๆ เลยจะดีกว่า

อุปกรณ์แอนดรอยด์ ในท้องตลาดมีอยู่หลากหลาย จนไม่รู้จะหยิบอะไรมาใช้ในการพัฒนาแอพของเราดี

ผมขอเสนอแนวทางในการเลือกอุปกรณ์สำหรับทดสอบแอพพลิเคชั่นตามประสาโปรแกรมเมอร์ทุนน้อยแต่มือหนักนะค้าบ

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

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

3. ส่วนต่อประสานกับผู้ใช้
ในการพัฒนาแอพพลิเคชั่นต่อไปในอนาคต เราอาจจะมีโอกาศได้ใช้ความสามารถพิเศษของมือถืออย่างเช่น อุปกรณ์สำหรับสั่งการด้วยเสียง หรืออุปกรณ์สำหรับระบุตำแหน่ง (GPS) กล้องถ่ายรูป ซึ่งมีอยู่ในสมาร์ทโฟนทั่วไปในปัจจุบัน

เครื่องที่ใช้ทดสอบ ไม่ควรมีประสิทธิภาพมาก หรือแรงเว่อจนเกินไป ควรคำนึงถึงผู้ใช้ส่วนใหญ่ที่ใช้อุปกรณ์ธรรมดาๆ ที่ราคาไม่สูงมากนักด้วย

อุปกรณ์ที่น่าสนใจ ราคาไม่แพงนัก ที่ผมดูๆ อยู่ก็มีดังนี้ครับ

Wellcom A88
มือถือแอนดรอยด์ขนาดเล็ก ราคาถูกมากของคนไทย ขนาดหน้าจอค่อนข้างเล็ก  
ความละเอียด 320 x 480 พิกเซล กว้าง 3.2 นิ้ว ความเร็ว CPU 600 MHz แรม 256MB ใช้ระบบปฏิบัติการแอนดรอยด์ 2.1 (Eclair) มีระบบ GPS กล้อง 5 ล้าน Pixels รองรับ WiFi EDGE GPRS
ด้วยราคาประมาณ 5 พัน ถือว่าคุ้มค่าน่าใช้เป็นเครื่องทดสอบเลยทีเดียว เหมาะสำหรับพัฒนาแอพพลิเคชั่นทั่วไป หรือเกมที่กราฟฟิคไม่อลังการมาก ข้อเสียก็คือรองรับแอนดรอยด์เวอร์ชั่นต่ำไปนิด ทัชสกรีนไม่ลื่นไหลเท่าไหร่นัก มัลติทัชไม่ค่อยเนียน ทำให้ไม่ค่อยเหมาะกับแอพจำพวกเกมต่างๆ สำหรับโปรแกรมเมอร์งบน้อย น่าสนใจทีเดียว

Wellcom A100


ยังคงอยู่กับแบรนด์นี้ ไม่ใช่สปอนเซอร์แต่อย่างใด แต่สนับสนุนของไทยราคาถูกคุณภาพเยี่ยม เหมาะแก่การใช้เป็นเครื่องทดสอบแอพพลิเคชั่นมากค้าบ  ตัวนี้จัดเต็ม ถือว่าทำมาได้ดีมากๆ สำหรับแบรนด์ไทย หน้าจอ 3.8 นิ้ว 480 x 800 Pixels CPU NVIDIA Tegra 2 Dual-core RAM 512MB ใช้ระบบปฏิบัติการ แอนดรอยด์ 2.2 (Froyo) ซึ่งในอนาคต Wellcom เค้าว่าจะอัพเป็น 2.3 ให้นะ 
เป็นแอนดรอยด์ที่ครบเครื่องในราคา 1 หมื่น ที่ใช้ทดสอบแอพพลิเคชั่นประเภทเกมได้อย่างลื่นไหลเลยทีเดียว ระบบทัชสกรีนปรับปรุงมาได้ดีขึ้นมากๆ รองรับมัลติทัชได้หลายจุด สำหรับโปรแกรมเมอร์ที่เน้นพัฒนาเกมเป็นส่วนใหญ่ ตัวนี้ค่อนข้างเหมาะทีเดียว

Samsung Galaxy mini


เป็นมือถือที่เหมาะเจาะมากสำหรับนักพัฒนา ด้วยฟังก์ชั่นต่างๆ ที่ครบเครื่องในราคาที่ไม่แพงมาก ถ้าไม่ติดที่เรารักแบรนด์ไทย (แอบชาตินิยมเล็กน้อย) เครื่องนี้เหมาะเจาะสำหรับพัฒนาแอพทั่วไปกว่า A88 ซะอีกนะ 
หน้าจอความละเอียด 240 x 320 Pixel กว้าง 3.14 นิ้ว น้อยกว่า A88 นิดนึง CPU 600 MHz แรม 160MB ใช้ระบบปฏิบัติการ แอนดรอยด์ 2.2 (Froyo) 
หน้าจอทัชสกรีนค่อนข้างลื่นไหลกว่า A88 และยังเป็นแอนดรอยด์ 2.2 จึงสามารถทดสอบแอพพลิเคชั่นเกมได้ดีระดับนึง ติดที่แรมให้มาน้อยไปนิด ในราคา 4 พันกว่าบาทถือว่าครบเครื่องคุ้มค่ามาก


ยังมีอีกเยอะแยะมากมาย ขึ้นอยู่กับงบประมาณ ถ้าใครมีงบเยอะมากนิด ก็อาจไปลองพวก Nexus ซึ่งเป็นแอนดรอยด์แท้ๆ จาก google ก็เข้าท่าดีเหมือนกัน

ที่สำคัญ ควรศึกษาเกี่ยวกับรายละเอียดการรับประกันสินค้า ของแต่ละยี่ห้อให้ดีนะครับ เพราะส่วนใหญ่ หากมีการไปดัดแปลงรอมในเครื่อง ซึ่งอย่างน้อยเราต้องได้ Root แน่ละครับ บางทีอาจหมดประกันศูนย์ก็ได้ เรียนรู้วิธีทำให้กลับเป็นเหมือนเดิมไว้ครับ หรืออาจจะหาสินค้ามือ 2 ถูกๆ มาใช้ก็ได้ครับ


วันศุกร์ที่ 18 พฤศจิกายน พ.ศ. 2554

ติดตั้งเครื่องมือ

ขั้นตอนที่ 1 ติดตั้ง Java


การพัฒนาแอพพลิเคชั่นบน Android จะพัฒนาด้วยภาษาจาวา จากนั้นจึงแปลงเป็นไฟล์รูปแบบของ Android Package (APK)
ดังนั้นก่อนเริ่มพัฒนา เราต้องติดตั้ง Java development environment ในเครื่องของเราให้เรียบร้อยก่อน ไม่ว่าเครื่องของท่านจะใช้ OS อะไรนะครับ เริ่มจากการดาวน์โหลดที่เว็บของ Sun/Oracle ได้ที่นี่เลยครับ

http://www.oracle.com/technetwork/java/javase/downloads/index.html

เลือกดาวน์โหลดตัวที่ตรงกับ OS ของเรานะครับ
จากนั้นทำการติดตั้งตัว Java Development Kit (JDK) ที่ดาวน์โหลดมา


ใน blog นี้ ผมจะไม่สอนถึงการเขียนภาษาจาวานะครับ ท่านสามารถเรียนรู้ได้จากเว็บทั่วๆ ไป ซึ่งสามารถค้นหาจาก google ได้ และควรจะศึกษาพื้นฐานการเขียนโปรแกรมเบื้องต้นมาก่อนนะครับ

ขั้นตอนที่ 2 ติดตั้ง Android SDK




Android SDK หรือ Android Software Development Kit เป็นเครื่องมือสำหรับพัฒนาแอพพลิเคชั่นสำหรับแอนดรอยด์ โดยที่ Google ได้พัฒนาขึ้นเพื่อให้นักพัฒนาได้ดาวน์โหลดไปใช้กันฟรีๆ นะครับ ในตัว SDK จะประกอบด้วยไลบรารี่ต่างๆ ที่จำเป็นต่อการพัฒนาแอพพลิเคชั่นบนแอนดรอยด์ และมีตัว Emulator ซึ่งจะจำลองหน้าจอของอุปกรณ์ที่ใช้ระบบปฏิบัติการแอนดรอยด์ ทำให้เราสามารถทดลองรันโปรแกรมของเรา เพื่อทดสอบการทำงานได้ครับ


ท่านสามารถดาวน์โหลด Android SDK ได้ที่นี่เลยครับ

http://developer.android.com/sdk/index.html

จากนั้นทำการติดตั้งตัว SDK และ Add-ons ต่างๆ เพื่อให้เราพัฒนาในรูปแบบที่เราต้องการครับ





ขั้นตอนที่ 3 ติดตั้ง Eclipse และ ADT


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

http://www.eclipse.org/downloads/

ในที่นี้ผมเลือกโหลดตัว Eclipse Classic นะครับ ดาวน์โหลดแล้วแตกไฟล์มาใช้ได้เลย ไม่จำเป็นต้องทำการติดตั้งนะครับ

หลังจากนั้นให้เปิด Eclipse ขึ้นมา เลือกเมนู Help > Install New Software 
จากนั้นกดปุ่ม Add จะมีช่องให้กรอกข้อมูล



ช่อง Name: ป้อนชื่ออะไรก็ได้ที่เราดูแล้วเข้าใจ
ช่อง Location: ป้อน https://dl-ssl.google.com/android/eclipse/


กด OK แล้วรอซักครู่นึงครับ จากนั้นจะมี Check Box มาให้เลือก เป็น Developer Tools นะครับ เลือกทั้งหมดแล้วกด Next และ Acept จนเสร็จกระบวนการแล้วเราจะต้อง Restart ตัว Eclipse ใหม่นะครับ
จากนั้นกดปุ่ม Browse เพื่อเลือกตำแหน่งที่เราติดตั้งตัว SDK ไว้เป็นอันเสร็จสิ้นขั้นตอนนี้ครับ

ขั้นตอนที่ 4 ติดตั้ง Emulator

ตามที่บอกข้างต้นนะครับ  Android SDK มีตัว Emulator ซึ่งจะจำลองหน้าจอของอุปกรณ์ที่ใช้ระบบปฏิบัติการแอนดรอยด์ ทำให้เราสามารถทดลองรันโปรแกรมของเรา เพื่อทดสอบการทำงานของโปรแกรมที่เราเขียน 


เริ่มด้วยเข้าเมนูของวินโดวส์ > Android SDK Tools > ADV Manager



จากนั้นกดปุ่ม New จะมีช่องมาให้กรอกข้อมูลต่างๆ เกี่ยวกับ Device ที่ต้องการจำลอง

Name: ตั้งชื่ออะไรก็ได้ตามต้องการ ให้สามารถเลือกทดสอบได้
SD Card: ขนาดความจำของ SD Card
Hardware: ความสามารถของตัวเครื่องจำลองที่เราต้องการให้มี

เมื่อป้อนข้อมูลเรียบร้อยแล้วกด Create AVD
เลือก Device ที่เราสร้างเสร็จไป แล้วกด Start -> Launch เป็นอันสำเร็จครับ



จะเห็นว่าหน้าจอ จำลองมาจากอุปกรณ์ Android ทุกอย่าง มีปุ่มและคีย์บอร์ดให้เทสอยู่ด้านข้างด้วย
เท่าที่ลองทดสอบอาจจะหน่วงไปนิดสำหรับเครื่องที่ไม่แรงมาก




เริ่มต้น

Blog นี้ เป็น blog เกี่ยวกับการพัฒนาแอพพลิเคชั่น บนโทรศัพท์มือถือ โดยเน้นที่ระบบปฏิบัติการ Android
โดยเนื้อหาทั้งหมด ไม่ได้สร้างขึ้นเพื่อสอน แต่สร้างขึ้นเพื่อให้เราเรียนรู้ไปด้วยกัน

ผมเองก็ไม่เคยเขียนแอพพิเคชั่นบนแอนดรอยเลย แม้แต่ครั้งเดียว
แต่มีพื้นฐานทางด้านการพัฒนาแอพพลิเคชั่น จากการทำงานทางด้านการพัฒนาแอพพลิเคชั่นในหน่วยงานต่างๆ มากว่า 10 ปี
จึงคิดว่าไม่น่าจะเกินกำลังที่จะเรียนรู้ และจะบันทึกขั้นตอนการเรียนรู้และทดสอบ ลงใน blog นี้ให้ได้มากที่สุด
เพื่อประโยชน์กับคนที่สนใจศึกษาในด้านนี้เหมือนกันครับผม


มีคนนิยามแอนดรอยว่าเป็น ระบบปฏิบัติการเพื่อมวลมนุษยชาติ ที่ google ลงทุนพัฒนาเพื่อแจกจ่ายให้ค่ายมือถือต่างๆ ไปใช้ได้ ฟรี
ทำให้การแข่งขันในตลาดสมาร์ทโฟน เป็นไปอย่างคึกคัก จากผู้ผลิตหลากหลายยี่ห้อ
รวมไปถึงโอกาศที่เพิ่มขึ้นของนักพัฒนาอย่างเราๆ ท่านๆ เนื่องจาก google เปิดกว้างให้นักพัฒนา นำแอพพลิเคชั่นที่สร้างขึ้น นำไปขายในตลาดที่เรียกว่า Android Market

แนวทางการทำเงินสำหรับนักพัฒนา



google ได้เปิดเว็บ The guide to the App Galaxy เพื่อสอนให้นักพัฒนาแอพบนแอนดรอยด์ ได้รู้ถึงวิธีการโปรโมทและทำเงินให้กับแอพตัวเอง ซึ่งเนื้อหาจะแบ่งเป็น 4 ขั้นตอน คือ

Promote สอนวิธีการโปรโมทแอพผ่านช่องทางต่างๆ
Earn สอนวิธีการหาเงินจากแอพในรูปแบบต่างๆ ที่เป็นไปได้ เช่น คิดเงินค่าแอพ โฆษณา หรือขายสินค้าภายในแอพ
Measure สอนขั้นตอนการวัดความนิยมของแอพ เช่น ดูยอดการดาวน์โหลดแยกตามประเทศ ดูสถิติการใช้งานของผู้ใช้ อ่านรีวิวของผู้ใช้
Evaluate สอนการนำข้อมูลที่ได้มาปรับปรุงให้แอพมีคุณภาพดีขึ้น และดูตัวอย่างจากแอพอื่นๆ ที่ประสบความสำเร็จ

ซึ่งผมจะพยายามอัพเดทในทุกขั้นตอน ของการติดตั้งและการพัฒนา โดยจะเริ่มติดตั้งกันในบทความต่อไปนะครับ
หากมีคำแนะนำอย่างไรก็คอมเมนท์ไว้ได้นะครับ