สวัสดี Android (Basic) บทนี้เราจะมาเริ่มสร้างโปรแกรมง่ายๆ กันครับ

เมื่อพูดถึงเวลาที่ Programmer จะเรียนรู้ภาษาโปรแกรมอะไรแล้ว ส่วนใหญ่ Programmer
ก็จะเริ่มจากการทักทายภาษาโปรแกรมนั้นๆ ก่อนครับ Hello Android ^^

*************** ช่วงที่ 1 สร้าง Android Project ใน Eclipse ***************

เปิด Eclipse ขึ้นมาครับ แล้วไปที่ File > New > Other… หรือกด Ctrl + N ก็ได้เหมือนกันครับ

รูปที่ 1 แสดงขั้นตอนการ Create Project

จากนั้นเลือก Android Project ครับ


รูปที่ 2 แสดงขั้นตอนการเลือก Android Project

เมื่อเลือกถูกต้องแล้วจะเห็นหน้าต่าง New Android Project เพื่อให้เรากรอกข้อมูลเล็กน้อย
เกี่ยวกับการสร้าง Project ของเราครับ

Project Name := Android [ชื่อ Folder ที่เก็บ File ในเครื่อง PC ครับ]


รูปที่ 3 แสดงขึ้นตอนการตั้งชื่อโปรแกรม

Build Target := Android 2.2 [รุ่นของ Android ครับ]


รูปที่ 4 แสดงการเลือกรุ่นของ Android

Application Name := Hello, Android [ชื่อโปรแกรมครับ]
Package Name := com.example.helloandroid [ชื่อ Folder ของ File ใน Folder Project Name อีกทีครับ]
Create Activite := HelloAndroid

เสร็จแล้วกด Finish ครับ เท่านี้เราก็ได้โปรแกรม Hello, Android แล้วครับ


รูปที่ 5 แสดงขั้นตอนตั้งชื่อโปรแกรม, Package และ Activite

จากการสร้าง Android Project ข้างบน ถ้าของใครไม่มี Error อะไร ก็สามารถลอง Run ได้ครับ


รูปที่ 6 แสดงขั้นตอนการเข้าเมนูรัน

โปรแกรมที่เราสร้างขึ้นมาครับจะแสดงเลยเมื่อ Boot เสร็จครับ


รูปที่ 7 แสดงหน้าจอโปรแกรมที่กำลังทำงาน

Icon โปรแกรมและชื่อโปรแกรมที่เราสร้างครับ สักเกตุที่มุมซ้ายล่าง ตัวเขียวๆ


รูปที่ 8 แสดง Icon ของโปรแกรมที่สร้างขึ้น

ส่วนใครที่เจอ Error แบบนี้ครับ
Error generating final archive: Debug Certificate expired on…


รูปที่ 9 แสดงข้อความ Error

วิธีแก้ครับ ให้เข้าไปที่ Control Panel ไปปรับตรงที่ Region and Language

(1) เปลี่ยน Formats จาก Thai (Thailand) เปลี่ยนเป็น English (United States)


รูปที่ 10 แสดงการเปลี่ยน Formats

(2) เปลี่ยน Location จาก Thailand เปลี่ยนเป็น United States


รูปที่ 11 แสดงการเปลี่ยน Location

เมื่อเราเปลี่ยน Formats และ Location เสร็จแล้ว ให้เราเปิดโปรแกรม Eclipse ขึ้นมา
จากนั้นไปที่ Window -> Perferences แล้วเข้าไปที่ Android -> Build
สักเกตุที่ Default debug keystore: ให้เราเข้าไปลบไฟล์ชื่อ debug.keystore ตาม Path


รูปที่ 15 แสดง Path ของไฟล์ keystore

เมื่อได้ Path ที่ถูกต้องมาแล้วให้เราไปลบไฟล์ debug.keystore ครับ


รูปที่ 12 แสดงการลบไฟล์ keystore

เมื่อลบไฟล์เสร็จแล้วให้เข้าไปที่โปรแกรม Eclipse แล้วไปที่ Project -> Clean…


รูปที่ 13 แสดงการ Clean Project

จากนั้นจะมีหน้าต่าง Clean ขึ้นมาให้เราเลือก Clean all projects แล้วกด OK


รูปที่ 14 แสดงการ Clean All Project

หลังจากนั้นลองดูว่า Error จะหายไปแล้วครับ ลอง Run โปรแกรมดูอีกครั้งครับ

******************** ช่วงที่ 2 ลองเขียนโค้ด ********************

ตอนนี้เราจะมาดูโค้ดที่เราได้มาตอนสร้าง Android Project กันครับ เปิดโปรแกรม Eclipse ขึ้นมาครับ
แล้วสังเกตุทางด้านซ้ายครับตรง Package Explorer ครับ
เลือก Project Android -> src -> com.example.helloandroid -> HelloAndroid.java


รูปที่ 16 แสดงการเข้าถึงไฟล์ HelloAndroid.java

โค้ดภายในไฟล์ HelloAndroid.java ครับ


01: package com.example.helloandroid;
02:
03: import android.app.Activity;
04: import android.os.Bundle;
05:
06: public class HelloAndroid extends Activity {
07: /** Called when the activity is first created. */
08: @Override
09: public void onCreate(Bundle savedInstanceState) {
10: super.onCreate(savedInstanceState);
11: setContentView(R.layout.main);
12: }
13: }

ผมจะค่อยๆ อธิบายที่ละส่วนเท่าที่ผมเข้าใจครับ ถ้าใครที่เขียน Java ได้อยู่แล้วคงไม่มีปัญหาอะไรครับ

จากโค้ดที่เราได้มาตอนที่สร้าง Project เราสามารถเขียนโค้ดเพิ่มเข้าไปได้ทันทีครับ
ตอนนี้เราจะการเพิ่มข้อความเข้าไปใน โปรแกรมของเราครับ โดยก่อนอื่นเราจะทำการ
Import Class ชื่อว่า TextView ครับ เพิ่มถัดจาก import android.os.Bundle;


import android.os.Bundle;
import android.widget.TextView;

จากนั้นก็ทำการเขียนโค้ดสร้าง TextView เพื่อแสดงข้อความของเราเองครับ
เพิ่มถัดจาก super.onCreate(savedInstanceState);
สร้าง Object ชื่อว่า tv โดยใช้ Class จาก TextView ครับ จากนั้นก็ใส่ข้อความข้างใน
โดยใช้คำสั่ง .setText(“ข้อความ”) ครับ


super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, DroidSans");

เสร็จแล้วก็แก้ ContentView นิดหน่อยครับ แก้เป็นชื่อ tv ครับ
setContentView() เป็นคำสั่งให้จอแสดงผล ถ้าเราไม่ได้เรียกคำสั่งนี้จอจะว่างเปล่าครับ


setContentView(tv);

เมื่อเสร็จแล้วโค้ดที่ได้จะออกมาหน้าตาแบบนี้ครับ


01: package com.example.helloandroid;
02:
03: import android.app.Activity;
04: import android.os.Bundle;
05: import android.widget.TextView;
06:
07: public class HelloAndroid extends Activity {
08: /** Called when the activity is first created. */
09: @Override
10: public void onCreate(Bundle savedInstanceState) {
11: super.onCreate(savedInstanceState);
12: TextView tv = new TextView(this);
13: tv.setText("Hello, DroidSans");
14: setContentView(tv);
15: }
16: }

เมื่อแก้ไขเสร็จแล้วลอง Run Program ของเราดูครับ


รูปที่ 17 แสดงโปรแกรมที่แก้ไขแล้ว

ถ้าใคร Run Program ไม่ผ่าน ให้ลองปิด Eclipse แล้วเปิดใหม่ดูครับ
ผมขอจบการเขียนไว้เท่านี้ก่อน แล้วจะกลับมาพูดถึงการจัดวาง Layout
การเปลี่ยน Icon โปรแกรมของเราและอื่นๆ อีกครั้งภายหลังครับ ^^

ขอขอบคุณสำหรับแหล่งข้อมูลครับ

ข้อมูลส่วนใหญ่
http://developer.android.com/resources/tutorials/hello-world.html

วิธีแก้ไข Error : Error Generating Final Archive
http://www.mobiledevguru.com/