如果你成功安裝了Android Studio,也成功與手機連結,在螢幕上看到Hello World

那麼你就可以進到下一階段:「寫(複製)一個BMI計算程式」

是的,在你還不知道任何一行程式碼是什麼意思前

我希望你先「複製」一個BMI程式

 

成功在手機上運行後

再回頭來詳細檢視自己做了哪些事

這樣當你看著一行一行程式時,會隱隱約約知道自己到底在做什麼(這很重要,可以消除你對程式的恐懼!)

 

如果過程不順利,你可以留言或是加入FB的程式討論社團(https://www.facebook.com/groups/458590234247111/),我看到會儘快回覆

 

以下教學文感謝周奕傑協助撰寫(剛發現把文章貼到痞客邦後,圖片會變不清楚且無法放大,修正前請大家連到原始文章觸觀看:http://54.248.216.107/wordpress/?p=189,那邊點圖可以放大)

(一)建立新專案

螢幕快照 2014-01-23 下午4.09.46

 

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

螢幕快照 2014-01-23 下午4.16.32(三)點選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>
     

螢幕快照 2014-01-23 下午4.38.40(四)在values底下創立一個名為advice的「Values resource file」。 建立方法:對著values點右鍵,選擇new裡的「Values resource file」,名稱打上advice,按確定。 

螢幕快照 2014-01-23 下午4.32.56螢幕快照 2014-01-23 下午4.33.20(五)將以下程式碼貼上剛剛創好的advice裡。

 

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

 

<resources>

 

<string name="advice_light">你該多吃點</string>

 

<string name="advice_average">體型很棒喔</string>

 

<string name="advice_heavy">你該節食了</string>

 

</resour

螢幕快照 2014-01-23 下午4.42.59(六)接著,將以下程式碼貼在「layout」裡的「activity_main.xml」裡,點進activity_main.xml後選擇下方的text(這裡名稱若有更改會有不同,以下皆用activity_main統稱)。

 

<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>

螢幕快照 2014-01-23 下午4.46.45

貼上後會變成這樣子。 螢幕快照 2014-01-23 下午5.06.14(七)再來進到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 下午4.59.29螢幕快照 2014-01-23 下午5.30.00再來,將menu裡的main打開,把圖內那行刪掉。 螢幕快照 2014-01-23 下午5.44.11 最後將手機連結上電腦,照圖點選,將USB device打開,點開始後選擇自己的手機即可。螢幕快照 2014-01-23 下午5.33.56螢幕快照 2014-01-23 下午5.33.26螢幕快照 2014-01-23 下午5.35.35螢幕快照 2014-01-23 下午5.45.27

 

順利的話,手機上就會出現BMI計算程式,輸入身高體重後,會自動診斷你的BMI直是否正常

 

arrow
arrow
    文章標籤
    android 程式 自學程式
    全站熱搜

    chiachiku 發表在 痞客邦 留言(21) 人氣()