2015年5月28日 星期四

期末作業2

參考文獻 :
http://www.sdk.tw/2014/12/android-sdk-android-studio.html

http://chiachiku.pixnet.net/blog/post/64235911-android%E7%A8%8B%E5%BC%8F%E7%AF%84%E4%BE%8B%EF%BC%88%E4%B8%80%EF%BC%89bmi%E8%A8%88%E7%AE%97%E7%A8%8B%E5%BC%8F---%E8%A4%87%E8%A3%BD%E7%AF%87

題目: BMI

安裝 Android Studio : https://developer.android.com/sdk/index.html

步驟 :
(一)建立新專案

(二)Application name裡的「example」可改成名字(或程式的名字),在此使用「BMI」為Application name,點選next直到finish。。

(三)點選values裡的strings.xml,將以下此段程式碼貼上。

<resources>
<string name="app_name">BMI</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_bmi">BMI</string>
<string name="bmi_height">身高 (cm)</string>
<string name="bmi_weight">體重 (kg)</string>
<string name="bmi_calculate">計算 BMI 值</string>
<string name="hello_world"></string>
</resources>

(四)在values底下創立一個名為advice的「Values resource file」。

(五)將以下程式碼貼上剛剛創好的advice裡。


<?xml version="1.0" encoding="UTF-8"?>

<resources>

<string name="advice_light">你該多吃點</string>
<string name="advice_average">體型很棒喔</string>
<string name="advice_heavy">你該節食了</string>

</resources>



(六)接著,將以下程式碼貼在「layout」裡的「activity_main.xml」裡,點進activity_main.xml後選擇下方的text


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView

android:id="@+id/textHeight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bmi_height" />

<EditText

android:id="@+id/inputHeight"
style="editTextStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textHeight"
android:inputType="number" />

<TextView

android:id="@+id/textWeight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/inputHeight"
android:text="@string/bmi_weight" />

<EditText

android:id="@+id/inputWeight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textWeight"
android:ems="10"
android:inputType="number" />

<Button

android:id="@+id/buttonCalculate"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/inputWeight"
android:text="@string/bmi_calculate" />

<TextView

android:id="@+id/textResult"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/buttonCalculate" />


<TextView

android:id="@+id/textSuggest"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textResult" />

</RelativeLayout>



(七)再來進到java裡的MainActivity(若名稱有更改會不一樣),貼上以下程式碼。


package com.practice.bmi;
import java.text.DecimalFormat;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class BMI extends Activity {


@Override

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_bmi);

//Listen for button clicks


Button button = (Button)findViewById(R.id.buttonCalculate);


button.setOnClickListener(calcBMI);


}


@Override


public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.activity_bmi, menu);

return true;

}





private OnClickListener calcBMI = new OnClickListener()


{


public void onClick(View v)


{


DecimalFormat nf = new DecimalFormat("0.00");


EditText fieldheight = (EditText)findViewById(R.id.inputHeight);


EditText fieldweight = (EditText)findViewById(R.id.inputWeight);


double height = Double.parseDouble(fieldheight.getText().toString())/100;


double weight = Double.parseDouble(fieldweight.getText().toString());


double BMI = weight / (height * height);





TextView result = (TextView)findViewById(R.id.textResult);


result.setText("Your BMI is " + nf.format(BMI));





//Give health advice


TextView fieldsuggest = (TextView)findViewById(R.id.textSuggest);


if(BMI>25){


fieldsuggest.setText(R.string.advice_heavy);


}else if(BMI<20){


fieldsuggest.setText(R.string.advice_light);


}else {


fieldsuggest.setText(R.string.advice_average);


}


}


};


}

目前樣式
螢幕快照 2014-01-23 下午4.52.36




將裡面的package後面改成你設定的名字。
螢幕快照 2014-01-23 下午4.54.37

再把public class後面的BMI刪掉,改成左邊的名字。
螢幕快照 2014-01-23 下午4.57.03

再來圖內有兩處紅字,分別改為下圖中的名字。
螢幕快照 2014-01-23 下午5.30.00

再來,將menu裡的main打開,把圖內那行刪掉。
螢幕快照 2014-01-23 下午5.44.11

最後將手機連結上電腦,照圖點選,將USB device打開,點開始後選擇自己的手機即可。


完成圖


沒有留言:

張貼留言