2010-12-24

Android Dev - Writing Application/Ground Zero (1/3)

จุด... "ศูนย์จุดศูนย์" สำหรับการพัฒนาแอพพิเคชั่นบนแอนดรอยด์ครับ คือทำความคุ้นเคยกับตัว Eclipse กับ Code เล็กๆน้อยๆจากตัวอย่างที่มีมาให้จากใน SDK

ต้องเรียกได้เลยว่าไม่บังเอิญแน่ๆสำหรับตัวอย่างพวกนี้ เดาได้เลยคับว่าต้องมีการตั้งหน่วยสอดส่องเพื่อหาโปรแกรมตัวอย่างในตลาดที่"โดน"ใจกรรมการ และมีการวางแผนไว้ก่อนแล้วว่า ต้องมีเนื้อหาสำคัญๆที่เป็นหัวใจของการพัฒนาบน Android อะไรบ้าง เมื่อพบเห็นโปรแกรมตัวอย่างดังกล่าวก้อจะไปขออนุญาติจากผู้พัฒนาท่านนั้นๆ(จาก Blog ของเขา)แล้วเอามาจัดหน้าตาให้ง่ายต่อการเข้าใจและปล่อยลงใน SDK Tutorials

[สิ่งที่ทำสำหรับจุดนี้]

คือการทดลองสร้างและ run โปรแกรมตัวอย่างในหมวด "Hello, World" (มี 1 ตัว), และ "Hello, Views" (มี 14 ตัว)

[ข้อสังเกตุ]

สิ่งที่สังเกตุได้คือ

  • "Hello World" และ "Hello View" จะไม่มี Source Code สำเร็จรูปให้ แต่ต้องทำทีละขั้นตอนโดยทำการ copy ตัว code เอาเองจากที่เขาบรรยายไว้ ทั้งนี้(เดาว่า)จะได้ให้มีความคุ้นเคยกับตัว Eclipse, การ navigate ไปมา, และการเล่นตัว Emulator ไปในตัว (แน่ๆกับผม พอจบ Hello Views ทั้งหมด ก้อคล่องตัวขึ้นเป็นกอง)
  • เราสามารถสร้าง App (ตัวเป็นๆ) จาก Code ไม่กี่บรรทัด โดยการ reuse ตัว Widget สำเร็จรูปต่างๆที่มีให้ จะเห็นได้ว่า Code ไม่กี่บรรทัดก้อสามารถสร้างลูกเล่นต่างๆได้ เช่น ตัว Spinner (ตัวหมุนๆ)

[เริ่มจาก - ทำการเปิด หน้า Tutorials]

  • ใช้ IE เปิดเนื้อหา SDK (แบบ offline) ที่ Favorite ไว้

    (ชี้ไปที่ Android SDK Guide บนเครื่อง - ดูตอนที่แล้วๆ)

  • หัวข้อ [Tab - Dev Guide]->[กรอบซ้ายล่างๆ-HelloWorld]

    ของผมคือ [C:\...\android…sdk…\docs\guide\tutorials\hello-world.html]

  • จะมี "Hello View", "NotePad Tutorial", และ "Sample Code"

[ทำการสร้าง App ตัวอย่างทีละตัว]

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

[ขอแนะนำให้]

  • ทำวันละตัวสองตัวก้อพอในระยะเริ่มต้น สมองเรามีศักยภาพในการรับข้อมูลปริมาณที่จำกัดต่อวัน ของผมแรกๆมีลืมเป็นประจำ (เช่น ขั้นตอนการสร้าง New Project) ข้ามวันก้อลืม ต้องย้อนกลับมาอ่านหลายครั้ง กลายเป็นว่ามันซ้ำๆเข้าไป แม่นดีเหมือนกัน
  • ทั้งหมดมี 15 ตัวนะคับ น่าจะใช่เวลาหนึ่งอาทิตย์
  • ตัว "GridView" กับ "Gallery" ต้องหารูปภาพมาไว้ล่วงหน้า (ผมใช้รูปน้องๆพริ้ตตี้ตามเวป มาแปลงให้อยู่ใน format PNG ไปใส่ไว้ในที่ที่กำหนด)
  • ตัว "MapView" กับ "WebView" เวลา run เครื่องต้องต่อ net ไว้นะคับ

    <หมายเหตุ> รู้สึกว่าตัว Emulator ต้องอยู่บนเครื่องที่ออก Net ตรงถึงจะทำงานได้นะคับ Net ของบางบริษัทมีตัว Proxy ขั้นก่อนออก *อาจ*ทำให้ Emulator มีปัญหา (พอดีเห็นมีคนบ่นแว๊ปๆบน Forum อ่ะ)
  • ขอให้ทำทุกตัว*ยกเว้น* Map View ที่ผมจะมาลงรายละเอียดเรื่องการสร้าง key หน่อยหนึ่ง (งมอยู่สองวัน) ในตอนหน้า

[ลืมบอกไป - สำคัญมาก]

ก่อนที่จะเริ่มทำการสร้าง App ตัวอย่าง ขอให้อ่านเนื้อหาในหัวข้อ "What is Android?" และ "Framework Topics" **ทั้งหมด** สักหนึ่งรอบ (ให้อ่านแบบผ่านๆ พอจับใจความได้) เพื่อที่จะได้คุ้นคำศัพท์ต่างๆบนโลก Android

เดี๋ยวเราผ่านด่านไล่โปรแกรมตัวอย่าง NotePad แล้วกลับไปอ่านอีกรอบ จะเห็นว่าอ่านรู้เรื่องขึ้นอีกเป็นกองเลย

[ตอนหน้า (2/3)]

  • จะมาลงรายละเอียดเรื่องการสร้าง Key เพื่อ access ไปที่ Location Service ของ Google ดังในตัวอย่าง MapView
  • และจะปุจฉา มาลองให้ทำดูว่า ต้องแก้ code จุดไหนเพื่อวิสัจชนากัน
  • กำลังเล่งว่าจะ*รำพึงรำพัน*ว่าด้วยหัวข้อว่า สิ่งที่ต้องรู้ก่อนออกแบบแอนดรอยด์แอพ ที่ถอดความจากหัวข้อ Design for Performance, Responsiveness, and Seemlessness

ขอขอบคุณ

Solution 9420 Blog