วันจันทร์ที่ 16 กันยายน พ.ศ. 2556

Android : เริ่มต้นเขียน โปรแกรม Circle

บทนี้ จะเป็นการทดลองเขียน Source Code และ การออกแบบหน้าจอ โปรแกรม Circle ซึ่งเป็นโปรแกรมสำหรับคำนวนพื้นที่และเส้นรอบวง ของวงกลม
     เรามาดูรายละเอียด Source Code การสร้างโปรแกรมกัน
โดยเราต้องสร้างๆไฟล์หลักๆ 3 ไฟล์ คือ Main.java , Circle.java และ main.xml

//1. Main.java
 package com.test;

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 Main extends Activity implements OnClickListener{
TextView tvResult;
EditText etInput;
Button btnAround;
Button btnArea;
Circle circle;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        tvResult = (TextView) findViewById(R.id.tvResult);
        etInput = (EditText) findViewById(R.id.etInput);
        btnAround = (Button) findViewById(R.id.btnAround);
        btnArea = (Button) findViewById(R.id.btnArea);
        
        btnAround.setOnClickListener(this);
        btnArea.setOnClickListener(this);
    }

@Override
public void onClick(View v) {
circle = new Circle();
if(v==btnAround){
tvResult.setText(circle.around(Double.parseDouble(etInput.getText().toString())) + "");
}else if(v==btnArea){
tvResult.setText(circle.area(Double.parseDouble(etInput.getText().toString())) + "");
}
}
}

//2. Circle.java
package com.test;

public class Circle {

public Double around(Double radius){
return 3.14 * radius;
}
public Double area(Double radius){
return 3.14 * (radius * radius);
}
}


//3. main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    >
<TextView  
android:id="@+id/tvResult"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
    
<EditText
android:id="@+id/etInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</EditText>

<LinearLayout
android:layout_width="wrap_content"
android:id="@+id/layout1"
android:layout_gravity="center"
android:layout_height="match_parent"
android:orientation="horizontal">
<Button
android:id="@+id/btnAround"
android:layout_width="120dip"
android:layout_height="70dip"
android:text="Around">
</Button>
<Button
android:id="@+id/btnArea"
android:layout_width="120dip"
android:layout_height="70dip"
android:text="Area">
</Button>
</LinearLayout>
</LinearLayout>

ทดลอง Run โปรแกรม