[Android] เริ่มต้นเขียน App : รู้จักโครงสร้าง Android Project

ก่อนจะเริ่มต้นได้ ตรวจสอบว่ามีเครื่องไม้เครื่องมือพร้อมหรือยังก่อนนะครับ ถ้าแน่นอนว่ายังไม่เรียบร้อยล่ะก็ ตาม Link ไปเลยครับพ้มม > http://developer.android.com/sdk/index.html

Android ใช้ภาษาหลักในการพัฒนาคือ Java

ณ ตอนนี้ Google แนะนำให้พัฒนาด้วย editor สองตัวนี้คือ Eclipse และ Android Studio(based on IntelliJ IDEA) แต่ Java Developer มักจะเคยชินกับ Eclipse ซะมากกว่า อีกทั้ง Android Studio ก็ยังเป็น version beta อยู่ เลยยังไม่เป็นที่นิยมมากนัก และในบทความนี้ ผมก็ใช้ Eclipse เช่นกัน


เมื่อเรา New Android Application Project แบบไม่สนใจอะไรทั้งสิ้น(กด Next กระจาย) ก็จะได้หน้าตาออกมาประมาณนี้ครับ


สิ่งที่เราควรสนใจเป็นหลักคือ
1. AndroidManifest.xml
ไฟล์นี้จะเป็นไฟล์สำคัญของ Android ไว้ใช้กำหนดภาพรวมของ Android Project เช่น ชื่อแอพ, เวอร์ชันแอพ, สิทธิ์การเข้าถึงต่างๆ เช่น internet, sdcard เป็นต้น

2. src [source folder]
เป็น folder สำหรับเก็บ source code ที่เป็น java ทั้งหมด ซึ่งเราอาจแบ่ง package ได้ตามที่ต้องการ เราสามารถเขียนได้เหมือน java programming บน platform อื่นทุกประการ มีเพียงแต่บาง class ที่มีคุณสมบัติพิเศษของ Android เช่น Activity ที่ต้องเชื่อมต่อกับหน้าจอ อาจต้องมีการทำความรู้จักผ่าน  AndroidManifest.xml ด้วย


3. res [resource folder]
 เป็น folder ที่ประกอบด้วยหลากหลาย subfolder, xml และรูปภาพ
- layout (xml) คือส่วนทำหน้าจอ จะใช้งานร่วมกับ java class ที่เป็น Activity
- menu (xml) เป็นส่วนที่ใช้ออกแบบ menu
- value (xml) ประกอบไปด้วยภายในอีกหลายไฟล์ เช่น strings.xml, dimens.xml, styles.xml ล้วนใช้สำหรับสร้าง constants เพื่อใช้ใน layout
- drawable (images) สำหรับเก็บรูปภาพ อาจมีการแบ่งเป็นหลาย folder ไว้ใส่รูปต่างขนาดกัน เพื่อรองรับ devices ที่หลากหลาย


ส่วน folder อื่นๆ จะเป็นส่วนที่ไม่ค่อยน่าสนใจเท่าไรนัก
4. gen
คือ folder ที่เป็นตัวกลางระหว่าง java class กับ layout โดยจะ generate เองเมื่อเราสร้างหรือแก้ไข layout อยู่ในรูปแบบของ R.java

5.assets 
ใช้สำหรับวางไฟล์สำคัญต่างๆ ที่จำเป็นต้องใช้ตอน runtime เช่น sqlite database

6. libs 
สำหรับวาง library ที่ต้องการใช้ application


ค่อยๆ เล่นดูนะครับ ไม่ยากอย่างที่คิด ใครได้ลองเล่น Android Studio ก็ update ให้ฟังกันบ้างนะครับ ^_^


Facebook Comment

Popular post of 7 days

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)