close

人人都是手機控的時代學習Android是不可或缺的潮流與技能。GoogleAndroid配合瀏覽器、搜尋引擎、Nexus手機事業部與各手機大廠結盟的效應已經讓Android系統成為三星、Sony、華碩、HTC、華為、小米等各國廠商都離不開安卓系統的懷抱。

隨著Android的開發版本越來越新,手機的功能也越來越強:拍照、上網、定位、NFCRaspberry PiAndruino,以及各種遊戲軟體UnityGamesaladCorona也都支援的情況下,Android apps已經達到上億個之多。

只要會基本的JavaVB程式就可以入門基礎的安卓程式開發,在WindowsMacOSLinux上都有相容版本可以免費下載,讓安卓成為世界手機與行動裝置系統的霸主歷久不衰。現在就讓我們一起進入Android的開發世界吧。

 

TQC+是國內辦理電腦證照的大廠商,極具公信力,考題也很有深度,考取其證照者都必須具有相當程度的專業能力,頗受各大企業認可。市面上對各領域認證都有出版相關書籍和解題秘笈,以入門的TQC+ Android 6來說,題本"TQC+行動裝置應用程式設計認證指南Android 6",對應的解答本就是"TQC+行動裝置應用程式設計認證指南解題秘笈Android 6"。相關訊息可以在TQC+考生網上找到http://www.tqcplus.org.tw/。考取證照可以檢視學習成效並鑑定能力以達求職時提出證明。就讓我們進入TQC+的認證之門吧。

解答本建議採用Android Studio 2.1以上版本,我則是使用最普遍的2.3.3版。

Android的資料夾與檔案結構主要如下:

src  / main / java / GDD01.java

        / main / res / layout / main.xml

       / main / res / values / strings.xml

初學者大概會搞不清楚的id/ID有兩個:字串id和資源ID,字串id會儲存在strings.xml裡,而資源ID則是存放在R檔案裡,JAVA程式會引用資源ID。

型式大約如下:

字串id:android:text="@string/amout"

資源ID:android:id="@+id/amout"

因為開發Android app必須要先建立UI再寫程式,在建立UI時就必須要先考慮到設定id/ID以便將來給程式利用。

第一題  整存整付計算機

1. main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/title" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/lend" />

    <EditText
        android:id="@+id/input_lend"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="numberDecimal" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/rate" />

    <EditText
        android:id="@+id/input_rate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="numberDecimal" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/number" />

    <EditText
        android:id="@+id/input_number"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="numberDecimal" />

    <Button
        android:id="@+id/submit"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/btn" />

    <TextView
        android:id="@+id/amount"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/amount" />
</LinearLayout>

 

2.  strings.xml

<resources>
    <string name="app_name">整存整付計算機</string>
    <string name="title">整存整付試算:</string>
    <string name="lend">本金(NT$):</string>
    <string name="rate">年利率(%):</string>
    <string name="number">存款期數:</string>
    <string name="btn">計算本利和:</string>
    <string name="amount" />
</resources>
 

 

3.  GDD01.java

package com.daniel.gdd01;

import android.support.v7.app.AppCompatActivity;
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 GDD01 extends AppCompatActivity {

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

        Button submit = (Button) findViewById(R.id.submit);

        submit.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                EditText input_lend = (EditText) findViewById(R.id.input_lend);
                EditText input_rate = (EditText) findViewById(R.id.input_rate);
                EditText input_number = (EditText) findViewById(R.id.input_number);
                TextView amount = (TextView) findViewById(R.id.amount);

                Double lend = Double.parseDouble(input_lend.getText().toString());
                Double rate = Double.parseDouble(input_rate.getText().toString());
                Double number = Double.parseDouble(input_number.getText().toString());

                Double total = lend * Math.pow(rate + 1, number);
                amount.setText("本利和: " + total);
            }
        });
    }
}


這樣子完成上述3個檔案就可以跑Genymotion模擬器Custom Phone 7.0.0 API24,或者Android Studio內建的Nexus_6_API啦。簡單吧?

我提供完成檔的連結,是可以直接匯入的專案

若想自行建立專案須注意預設的JAVA程式檔名是MainActivity.java而非TQC+題本光碟中預定的GDD01.java

 

第二題 GD102 點餐系統

這一題加入了一個檔案,記得要給他複製進來: / res / drawable / ic_launcher_background.xml

GD102.png

 

第三題 GD103 選擇手機型號

GD103.png

 

第四題 GD104 手機與平板布局

加入了dimens.xml、colors.xml、新增color.xml與strings.xml內容,detail_view.xml、list_view.xml、main_land.xml、menu_gdd01.xml、AndroidManifest.xml加入兩行:

    <activity android:name=".DetailFragment"></activity>
    <activity android:name=".ListFragment"></activity>

GD104.png

 

第五題 GD105 計算BMI值

2.png

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 丹尼爾 的頭像
    丹尼爾

    丹尼爾的部落格

    丹尼爾 發表在 痞客邦 留言(0) 人氣()