วันพุธที่ 21 ธันวาคม พ.ศ. 2554

Android : Designing GUI in Eclipse Android Graphical Layout Editor

        สำหรับการพัฒนาระบบปฏิบัติการ Android นั้น แน่นอนว่าผู้ที่เพิ่งจะเริ่มต้นกับการเขียนโปรแกรมแรก หรือใครที่เคยศึกษามาก่อนหน้านี้ ก็ต้องไปจบชีวิตการพัฒนา Android ด้วยภาษา XML ที่เกี่ยวข้องกับการวาง Layout แต่ไม่ต้องกลัวครับ วันนี้ผมจะช่วยให้คุณได้พัฒนาระบบปฏิบัติการ Android ได้ง่ายขึ้น ด้วย Graphical Layout Editor ที่มีมาใน Eclipse IDE ซึ่งมันก็คือ การดีไซน์ Android แบบลากวางนั่นเอง ซึ่ง Tool ตัวนี้ก็จะไปจัดการกับ XML บางส่วนให้เราโดยอัตโนมัติ แล้วบางทีก็อาจจะทำให้เราเข้าใจภาษา XML ได้ไปโดยปริยาย โดยไม่ต้องไปศึกษาให้ปวดหัว แต่อย่างไรก็ตาม สิ่งที่สำคัญที่สุดก็คือ การทำความเข้าใจใน Code ที่ Tool ได้ Generate มาให้ครับ เอาหล่ะ งั้นเราไปเริ่มกันเลยดีกว่ากับโปรแกรมทดลอง Celsius to Fahrenheit ที่คุ้นเคยกันดี Let's go....

        1. หากยังไม่เคยเขียน Android มาก่อน แนะนำให้ Set Environment และเริ่มโปรแกรมแรกกับ Android กันก่อน

        2. เปิด Eclipse แล้วไปที่ File->New->Other...


        3. Select a wizard เลือก Android Project จากนั้นกดปุ่ม Next

        4. Project Name: CelsiusToFahrenheit จากนั้นกดปุ่ม Next

        5. เลือก Android 4.0 หรือตัวไหนก็ได้ที่ติดตั้งเอาไว้แล้ว จากนั้นกดปุ่ม Next

        6. ใส่ Application Name: CelsiusToFahrenheit ใส่ Package Name: com.android.project จากนั้นกดปุ่ม Finish

       7. ที่ Package Explorer จะเห็นโปรเจกที่ Eclipse IDE สร้างมาให้ ให้ไปที่โฟลเดอร์ "res" จากนั้นจะเห็นโฟลเดอร์ "layout" ข้างในจะมีไฟล์ที่ชื่อว่า main.xml ให้ดับเบิ้ลคลิ๊ก จากนั้นก็จะเห็นหน้าดีไซน์สำหรับการลากวาง Component ต่าง ๆ ของ Android ซึ่งจะเห็นว่ามี TextView มาให้ 1 อัน ("Hello World, Cels...") ให้ลบทิ้งไปก่อนด้วยการกดปุ่ม Delete 

        8. Design หน้าจอกันด้วยการลาก Component ต่าง ๆ มาวางให้ได้ดังรูป 
                8.1 Layouts -> LinearLayout(Horizontal)
                        8.1.1 วาง Text Fields-> Number (42) ใน LinearLayout
                        8.1.2 วาง Form Widgets-> Large Text ต่อจาก Number (42)
                8.2 Layouts -> LinearLayout(Horizontal)

                        8.1.1 วาง Form Widgets-> Button ใน LinearLayout
                        8.1.2 วาง Form Widgets-> Medium Text ต่อจาก Button


                 8.3 คลิกที่ component แต่ละตัว แล้วไปที่ Properties หา Property ที่ชื่อว่า Text จากนั้นให้เปลี่ยน Value ดั้งนี้
                        8.3.1 editText1 = "0"
                        8.3.2 textView1 = "Celsius"
                        8.3.3 textView2 = "32 Fahrenheit"
                        8.8.4 button1 = "Calculate"

                 8.4 คลิกที่ component แต่ละตัว แล้วไปที่ Properties หา Property ที่ชื่อว่า Id จากนั้นให้เปลี่ยนValue ดั้งนี้
                        8.4.1 editText1 -> "@+id/etInput"

                        8.4.2 textView1 -> "@+id/tvCel"
                        8.4.3 textView2 -> "@+id/tvFah"
                        8.4.4 button1 -> "@+id/btCal"

   
        9. ที่ Package Explorer ไปที่ src->com.android.project ดับเบิ้ลคลิก CelsiusToFahrenheitActivity.java จากนั้นเขียน Code ดังนี้ 
 package com.android.project;  
 import android.app.Activity;  
 import android.os.Bundle;  
 import android.view.View;  
 import android.view.View.OnClickListener;  
 import android.widget.Button;  
 import android.widget.EditText;  
 import android.widget.TextView;  
 public class CelsiusToFahrenheitActivity extends Activity {  
   /** Called when the activity is first created. */  
   @Override  
   public void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.main);  
     Button btCal = (Button) findViewById(R.id.btCal);  
     final EditText etInput = (EditText) findViewById(R.id.etInput);  
     final TextView tvFah = (TextView) findViewById(R.id.tvFah);  
     btCal.setOnClickListener(new OnClickListener() {  
                public void onClick(View v) {  
                            int tempFahr = (int)(Double.parseDouble(etInput.getText().toString())  
                                * 1.8 + 32);  
                            tvFah.setText(Integer.toString(tempFahr)+" Fahrenheit");  
                }  
           });  
   }  
 }  

        10. รันโปรแกรม หากยังไม่ได้ Start Virtual Device ให้ทำการ start เสียก่อน คลิกที่สัญลักษณ์
จากนั้นกดปุ่ม Start แล้วกดปุ่ม Launch รอสักครู่ ...

                10.1 หลังจาก Start เสร็จเรียบร้อยแล้วจะขึ้นดังรูปข้างล่าง จากนั้นให้ไปคลิกขวาที่โปรเจก จากนั้นเลือก Run As-> 1.Android Application


                10.2 จะปรากฏ icon Program ดังภาพ จากนั้นให้คลิกเข้าไปที่โปรแกรม


                10.3 ให้ทดลองใส่ค่าตัวเลขไป เช่น 45 แล้วกดปุ่ม Calculate


        ก็เป็นอันว่าเสร็จสิ้นขั้นตอน ในการเขียนโปรแกรม Celsius to Fahrenheit ซึ่งก็อาจจะยังไม่สมบูรณ์ดีนัก เพราะว่าค่าเริ่มต้นของ EditText นั้นเป็น 0 จึงต้องลบก่อน แล้วค่อยใส่ค่า ทางที่ดีเมื่อทำตามบทความนี้สำเร็จแล้ว ให้ลองศึกษาเพิ่มเติมเกี่ยวกับ Activity ของ Android ด้วย ซึ่งศึกษาได้จาก Link ด้านล่างนี้ หวังว่าคงจะช่วยให้ใครหลาย ๆ คน ที่ถอดใจจาก Android ไปแล้ว กลับมาลองศึกษามันใหม่และสนุกกับมัน โปรดช่วยเผยแพร่บทความนี้และช่วย Comment ด้วยนะครับ หากมีข้อสงสัย หรือว่าอธิบายผิดตรงส่วนไหน ......

ไม่มีความคิดเห็น:

แสดงความคิดเห็น