2013年8月28日 星期三

[TQC+ Android]電費計算機_102

Android 2.1 API 7 版本原始題目載點:http://db.tt/ruQKU9OO

僑光科技大學 蔡存孝老師 解說參考:http://rs2.ocu.edu.tw/~tsay/files/TQC102.pdf

本題預設 values/strings.xml (中文)及 values-en/strings.xml (英文)檔案在 Resouces 裡面
方便多國語言切換,系統會自動偵測語言,不需要做任何更動
main.xml右上可以切換語系,不需要等到執行AVD

1.首先在 res/layout/main.xml 裡拉好
TextView (右鍵Edit Text 選擇String,如要清空,右鍵Edit Text 選擇Clear)
EditText
Spinner(如太長,右鍵 Layout Height > other... 打50dp, 右鍵 Edit Entries 選 Array > option_vs)
Button
如畫面所示


main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="left" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="@string/title" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView1"
        android:text="@string/text1" />

    <Spinner
        android:id="@+id/input_v"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:layout_below="@+id/textView1"
        android:layout_toRightOf="@+id/textView2"
        android:entries="@array/option_vs" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/input_v"
        android:text="@string/text2" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/input_a"
        android:text="@string/text3" />

    <EditText
        android:id="@+id/input_hr"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/input_a"
        android:layout_toRightOf="@+id/textView4"
        android:ems="10"
        android:inputType="number" />

    <EditText
        android:id="@+id/input_a"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/input_hr"
        android:layout_alignTop="@+id/textView3"
        android:ems="10"
        android:inputType="numberDecimal" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/input_hr"
        android:text="@string/text4" />

    <EditText
        android:id="@+id/input_m"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/input_hr"
        android:layout_alignTop="@+id/textView5"
        android:ems="10"
        android:inputType="number" />

    <Button
        android:id="@+id/submit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/input_m"
        android:text="@string/btn" />

    <TextView
        android:id="@+id/textView7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/submit"
        android:text="@string/text5" />

    <TextView
        android:id="@+id/respond"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView7" />

</RelativeLayout>


GDD01.java - Activity主體
package COM.TQC.GDD01;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;

public class GDD01 extends Activity {
 
 protected TextView MyOutcome;
 protected int volt;
    Spinner input_v;
    EditText input_a, input_hr, input_m;
    Button submit;
    TextView respond;
    
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
     input_a = (EditText) findViewById(R.id.input_a);   
     input_hr = (EditText) findViewById(R.id.input_hr);
     input_m = (EditText) findViewById(R.id.input_m);
     submit = (Button) findViewById(R.id.submit);
     input_v = (Spinner) findViewById(R.id.input_v);
     respond = (TextView) findViewById(R.id.respond);

        input_v.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){

   @Override
   public void onItemSelected(AdapterView<?> arg0, View arg1,
     int arg2, long arg3) {
    // TODO Auto-generated method stub
    if(arg2 == 0) volt = 110;
    else volt = 220;
   }

   @Override
   public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub
    
   }});
        
        submit.setOnClickListener(new Button.OnClickListener(){

   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    double a = Double.parseDouble(input_a.getText().toString());
    double hr = Double.parseDouble(input_hr.getText().toString());
    double m = Double.parseDouble(input_m.getText().toString());
    double w = (double)a*volt;
    int ans = (int) Math.round(w/1000 * hr * 30 * m);
    respond.setText("$ "+ans);

   }});
        
        
 
    }

}

沒有留言:

張貼留言