วันเสาร์ที่ 3 มีนาคม พ.ศ. 2555

เขียน app android อย่างง่าย 2

หลังจากที่ได้ลองเขียน program "เขียน app android อย่างง่าย 1" ในตอนแรกกันแล้ว เรามาลองแก้ไข code กันดีกว่า
มาลองเพิ่ม EditText กับ Button

 โดยเราจะลอง
     1. ป้อนข้อความลงไปใน EditText
     2. กดปุ่ม
     3. แสดงข้อความที่เราเขียนไป ออกทางหน้าจอ

โดยเราจะทำดังนี้ 1. แก้ไข Form 2.แก้ไข program


เริ่มมาสร้าง Form กันก่อนดีกว่า
เปิดมาที่หน้า main.xml เลยครับ



สร้าง EditText
  1. ลากมาวาง
  2. แก้ Id เป็น TestEditText
สร้าง ปุ่มกด
  1. ลากมาวาง
  2. แก้ Id เป็น TestButton1


แก้ไข CODE กัน
เปิดมาที่หน้า Helloworld2Activity.java เลยครับ
จะมี Code ที่ Eclise  สร้างมาให้เราก่อนเบื้องต้น ดังตัวอย่างด้านล่าง

package com.app.helloworld2;

import android.app.Activity;
import android.os.Bundle;

public class Helloworld2Activity extends Activity
{
    /** Called when the activity is first created. */

   @Override
   public void onCreate(Bundle savedInstanceState)
       {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
       }
}

1. มาจัดการเจ้า ปุ่มกด กัน

 สร้าง ตัวแปร mybutton ขึ้นมา แล้วให้ Link ไปที่ Button ที่เราสร้างขึ้นมา
 โดย  1. import android.widget.ฺีButton; // เอาเข้ามาก่อน
        2. Button mybutton = (Button)findViewById(R.id.TestButton1); // ให้ mybutton เชื่อมไปหา TestButton1
แก้ไข code ตามนี้
package com.app.helloworld2;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;

public class Helloworld2Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        Button mybutton = (Button)findViewById(R.id.TestButton1);
       
    }
}
2. ตัวตรวจสอบเหตุการณ์ ตอนปุ่มโดนกด
    คือเวลาปุ่มโดนกด จะได้ให้ทำงานอื่นต่อไป
โดย  1. import android.view.View;
       2. import android.view.View.OnClickListener;
       3. ตัวตรวจจับเหตุการณ์ ปุ่มโดนกด

        mybutton.setOnClickListener(new OnClickListener(){
            public void onClick(View v){
               
            }
        });

แก้ไข code ตามนี้
package com.app.helloworld2;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;


public class Helloworld2Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        Button mybutton = (Button)findViewById(R.id.TestButton1);
       
        mybutton.setOnClickListener(new OnClickListener(){
            public void onClick(View v){
               
            }
        });

    }
}

3. มาจัดการเจ้า EditText กันต่อ
 สร้าง ตัวแปร mytext ขึ้นมา แล้วให้ Link ไปที่ EditText ที่เราสร้างขึ้นมา
 โดย  1. import android.widget.EditText; // เอาเข้ามาก่อน
        2. EditText mytext = (EditText)findViewById(R.id.TestEditText); // ให้ mytext เชื่อมไปหา TestEditText
package com.app.helloworld2;


import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;


public class Helloworld2Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        Button mybutton = (Button)findViewById(R.id.TestButton1);
       
        mybutton.setOnClickListener(new OnClickListener(){
            public void onClick(View v){
           EditText mytext = (EditText)findViewById(R.id.TestEditText);
            }
        });
    }
}
4. ตัวแสดงบนหน้าจอ

package com.app.helloworld2;

import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
import android.content.Context;


public class Helloworld2Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
       
        Button mybutton = (Button)findViewById(R.id.TestButton1);
       
        mybutton.setOnClickListener(new OnClickListener(){
            public void onClick(View v){
          
           EditText mytext = (EditText)findViewById(R.id.TestEditText);
          Context content = getApplicationContext();
          int duration = Toast.LENGTH_SHORT;

          Toast.makeText(content, mytext.getText(), duration).show();

            }
        });
    }
}

เสร็จแล้วครับ ทดลอง Run ได้เลย โดย เมื่อRun program แล้ว ลองใส่ข้อความอะไ้รก็ได้ แล้วกดปุ่มดูครับ ข้อความที่เราเขียนใน EditText จะมาแสดงที่หน้าจอครับ


VDO ตัวอย่าง




ครั้งต่อไปเดี๋ยวมาอธิบาย code กัน


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

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