สวัสดี 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/
dd
ดันๆ
รออ่านแบบเต็มๆอยู่นะครับ ผมอยากเขียนนะครับแต่ผมเขียนเป็นแต่ภาษา C -*-
หาหนังสือภาษา Java มาอ่านหลายเล่มแล้ว ตอนนี้ก็ยังเขียนภาษา Java ไม่ได้เลยครับ 😛
เขียน C เป็นจาว่าก็ไม่ยากเกินไปหรอกครับ
สมัยผมเรียนเค้าให้จาวาปี1แล้วCปี3 จะบ้าตาย แต่มันก็แนวๆเดียวกันแหละ
ยาวไปๆเลยครับ ผมอยากลองเขียนนะ แต่ติดตรงขี้เกียจอ่านนี่แหละ หนังสือเล่มบะเร่อ อังกฤษทั้งนั้นขี้แปลบทนำจบหมดแรงพอดี
Java มันเยอะครับ มีคลาสมีอะไรเยอะแยะอ่ะครับ ผมเองก็ไม่ค่อยถนัดโปรแกรมเชิงวัตถุด้วยสิ 🙂
เข้ามาให้กำลังใจคนเขียนบทความดีๆ ครับ
รออ่านอยู่ครับ สู้ๆ
คนอ่านว่ารูปภาพมันเยอะไปรึเปล่าครับ ?
คนอ่านอย่างผมน่ะชอบครับ คนเขียนอย่างท่านอ่ะดิ จะน่วมเอานา
ชอบด้วยคนครับ ภาพบางภาพแทนคำอธิบายเป็นร้อย 😉
เอาใจช่วย และจะคอยติดตามครับ 😀
กำลังดีครับ
จะได้เข้าใจง่ายๆด้วยครับ
สำหรับคนไม่รู้อะไรเลยอย่างผมอะนะ = =
เยี่ยมไปเลยครับ
ไม่สอนวิธี setup Development Environment ก่อนเหรอครับEDIT: เห็นแล้วครับ บล็อกก่อนหน้านี้ ขอบคุณครับ
ดีมากเลยครับ เป็นเเนวทางสำหรับมือใหม่หัดเขียน ^^ ดันครับ
เยี่ยมครับ!!
จาวาเขียนง่าย ดังนั้น Android ก็ทำให้เขียนได้่ง่ายด้วย ^^
Java เพียวๆพอได้ครับ ตอนนี้หันมาศึกษา Android ขอบคุณมาครับ
ผมต้องศึกษาอีกเยอะเลย ขอบคุณมากครับสำหรับ วิทยาทาน ดีๆ
แต่ Xml นี้ไม่ค่อยมีความรู้เท่าไหร
เป็นบล็อกแรกสำหรับ development บน droidsans
เจ๋งๆ 😀
ขอบคุณมากครับ รอโพสต์นี้มานาน ในที่สุดก็มาแล้ว 😀
ชื่นชมครับ การจะเขียนบทความอะไรยาวๆ มันเหนื่อย โดยเฉพาะการสอนแบบนี้
ที่จริงผมก็มีแผนจะเขียน Tutorial แบบนี้เหมือนกันเขียนตั้งแต่ปีที่แล้วก็ยังไม่เสร็จมันยาวมาก ตอนนี้ก็ยังดองอยู่ใน Word ไว้มันเสร็จจริงๆ จะเอามาให้ดูครับ ถ้ายังขยันอยู่ 555+
Error generating final archive: Debug Certificate expired on…
ของผมก็แก้ตามนี้ พอ compile ผ่านแล้ว ก็แก้ Region and Language เป็นไทยเหมือนเดิม
พอทำ project ตัวต่อๆไปก็ไม่มีปัญหาแล้วนะครับ ของคนอื่นเป็นยังไงบ้าง เพราะของเพื่อนผม ตั้งค่าเป็นไทยไม่ได้เลย
ขอบคุณมากเลยครับ
เป็นประโยชน์มากๆ 😀
ไม่เข้าใจเลยแต่รู้สึกดี 😀
เสียใจ T-T
อยากให้มีหัวข้อแบบนี้เยอะๆครับ จะได้เป็นตัวจุดชนวนให้มีผู้พัฒนาโปรแกรมเพิ่มขึ้น (คนที่อ่านแล้วสนใจ)
^^
ขอบคุณมากค้าบ
จะได้สมกับเป็นเว็บสำหรับสังคมนักพัฒนาAndroid ^^
ชอบเว็บนี้เว้ยเฮ้ย
มันหลากหลายดีจริง
แจ่มไปเลยครับ เป็นกำลังใจให้ครับ
ขอบคุณมากครับ ตอนนี้ก็กำลังจะหาเวลาศึกษาอยู่เหมือนกันครับ
ขอบคุณมากๆครับ สำหรับบทความดีๆ แต่ Java มันยากกว่า C มากๆเลย T_T
Java ไม่ยากนะครับ แต่มันเยอะ
Android นี่ทั้งเยอะ ทั้ง.งงครับ วิธีการสร้าง UI, การเรียก Resource มันงงมากๆ ต้องใช้เวลานิดนึงครับ
เห็นด้วยอย่างที่สุดครับ
ใช่เลยตอนนี้กำลังใช่เเรงอย่างมหาศารในการมั่วอยู่ คาดว่าก็มึนๆงงๆทั้งวันต่อไป 555+
Basic ตรงนี้ผมผ่านมาแล้ว งงอยู่สามวันเพราะเซ็ต English เนี่ยหละไปหาที่เว็บนอกเจอ
โปรแกรมถึงจะไม่ error แต่ก็เถอะเขียนตามได้แต่ไม่เข้่าใจอะครับ import ว่าเราควร import อะไรได้บ้างเวลาใช้ fuction หรือคำสั่งเราจะต้อง import อะไรมาบ้าง แล้วพวก class ต่างๆ ผมก้ไม่เข้าใจ โหลด Textbook มาเพียบแต่ไม่รู้เรื่องเลย งงมากๆเลยอะ ผมอยากรู้หลักการเขียนว่ามีหลักอย่างไรบ้างเริ่มจากตรงไหนดีครับผม ทางที่ดีน่าจะมี Project เล็กๆ ให้ผู้น้อยที่ไม่มีความรู้สักเท่าไหร่ได้ ทำตามก็ดี แล้วก็อธิบายไปน่าจะดีมากๆ เลยครับผม …ขอบคุณครับ
Basic ยังมีอีกหลายส่วนที่ต้องอธิบายครับ มีไฟล์อื่นมาประกอบอีกครับ
ส่วน Class ต่างๆ ลองดูได้ที่นี้ครับ http://code.function.in.th/mobile-apps
ขอบคุณครับ แล้วผมจะลองกลับไปฟัดกับการเขียนโปรแกรม Android อีกรอบ การเขียนโปรแกรมถ้ามีคนสอนหรือชี้แนะจะทำให้เข้าใจ แล้วทำให้การเรียนรู้รวดเร็วยิ่งขึ้น (ผมเขียนแต่พวก vb html php แบบพออ่านโค๊ดรู้เรื่อง)
ขอบคุณครับ เป็นประโยชน์มากๆเลย : D
เจ๋งครับบ รออ่านตังเต็ม ผมเขียนเป็นแต่ c java เคยเรียนมานิดเดียว แต่ก็เก็บคืนอาจารย์ไปแล้วครับ
เข้ามาดูอีกรอบ ตั้งชื่ออีมูเลเตอร์ได้ชุ่ยพอกับผมเลยครับ
ถนัด C เหมือนกัน
JAVA ไม่เคยเขียนเลย
เราไม่จำเป็นต้องจำก็ได้แรกๆ แค่เราพอมีเบสิค java แล้วใช้วิธีอิงตัวแปร แล้วกด . หลังตัวแปร เดี๋ยวก็มี method มาให้เลือกตามต้องการ จากนั้นถ้ามันมี error เราก็กดที่ตัว error จะมีกล่องมาบอกวิธี fix แล้ว eclipse จะ import ให้เราเอง
ปัญหาคือ "ตรูจะใช้ Method ไหนฟระเนี่ยยยยย" บางอันก็ Overload เป็น 10 รูปแบบ
กด Like ให้ 18 ทีเลยครับ 🙂
เคยโหลดมาลองแต่ง๊งงงๆๆๆ
หนับ หนุน ครับ น่าทำเป็น Share ไว้น่ะครับ ดี ๆ
หนับ หนุน ครับ น่าทำเป็น Share ไว้น่ะครับ ดี ๆ
เทอมหน้าผมเรียน java คิดว่าจะทำโปรเจ็คจบเป็นแอปแอนดรอยด์ซักตัวด้วย (เร็วไปมัีย ฉันเพิ่งปี 2 – -" ) ขอบคุณสำหรับบ้อมูลค้าบ
อยากให้มีขั้น advance ตามมาเร็วๆ จังครับ จะได้ลองหัดเขียนที่มันใหญ่ขึ้นกว่านี้อย่างเช่น เกมส์ ประมาณนี้อ่ะครับ
ขอบคุณมากครับ สนับสนุนครับ
ฮ่าๆๆ โรงเรียน ไม่ได้สอนจาวา เศร้า
ขอบคุณ ครับ
ขอบคุณสำหรับบทความดีๆ ค่ะ
ขอบคุณมากเลยครับผมกำลังหัดเขียนApp อยู่เจอแต่ภาษาอังกฤษ เยี่ยมมากเลยเฮีย
ความพยายามอยู่ที่ใหน ความสำเร็จอยู่ที่นั้น จะสู้ครับ ขอบคุณกับบทความดีๆครับ
Very Good my friend ^^