Android基本程式設計 建國科技大學 資管系 饒瑞佶
Android程式架構 連結到main.xml Package name(代表這支程式, 未來要找到它就靠這個) 預設的兩個class 繼承自Activity Activity名稱 覆載 啟動Activity的事件 儲存Activity狀態 執行原class中的方法 畫面上顯示之內容 連結到main.xml
Activity生命週期
按鈕
執行程式 目前只有畫面,沒有動作
加入按鈕處理程式 1 main.xml中的android:id屬性 2 3
按鈕跳頁 建立對應的畫面與程式 使用Intent來跳頁 在AndroidManiFest.xml中加入Activity
按鈕跳頁 按鈕與跳頁程式
換頁+帶參數 傳送 接收 Intent it = new Intent(); it.setClass(來源.this, 目的.class); it.putExtra(“URLNAME”,參數值); it.putExtra("playlistid",參數值); startActivity(it); 傳送 接收 Intent intent = getIntent(); String videoname = intent.getStringExtra("URLNAME").toString(); String videoid = intent.getStringExtra("playlistid").toString();
按鈕跳頁 在AndroidManifest.xml中加入Activity
跳畫面但不換Activity 只換Layout main main1 Java 只有1份
BMI範例
BMI計算範例 Body Mass Index = 體重(kg)/(身高*身高)(m) 產生新專案HelloBMI 利用Droiddraw設計介面與產生xml介面檔 修改main.xml 撰寫HelloBMI.java程式 利用按鈕view計算BMI值 利用兩個TextView呈現結果
BMI UI Body Mass Index = 體重(kg)/(身高*身高)(m) 我們需要 兩個顯示view(TextView) 來提示填入身高體重數字 兩個輸入view(EditText)來填入身高體重數字 需要一個按鈕view(Button)來開始計算 需要兩個顯示view(TextView)來顯示計算結果
BMI UI
BMI UI執行結果
BMI程式(I) 建立按鈕事件
BMI程式(II) 取得輸入值 計算BMI 顯示BMI 顯示身體狀況
BMI範例結果
對話框 (Dialog) 結構: new AlertDialog.Builder(專案.this) .setTitle(對話框標題訊息) .setMessage(對話框內容) .show();
對話框 (Dialog)
對話框 (Dialog)
對話框(Dialog)按鈕 結構: new AlertDialog.Builder(專案.this) .setTitle(對話框標題訊息) .setMessage(對話框內容) .setPositiveButton("確認",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }) .show();
對話框(Dialog)按鈕
Toast訊息框 import android.widget.Toast; Toast.makeText(專案.this, 訊息, 顯示時間).show();
Toast訊息框
Toast訊息框+try catch
選 單 使用手機硬體上的MENU鍵進行呼叫顯示 建立選單 處理選項動作 onCreateOptionsMenu onOptionsItemSelected
選 單
選 單 onOptionsItemSelected onCreateOptionsMenu
選單基本結構 建立選單 onCreateOptionsMenu 處理選項動作 onOptionsItemSelected
加入選單選項 加入選項(群組id,i項目id,順序,名稱) menu.add(0, 識別符號, 0, 顯示文字) menu.add(0, MENU_ABOUT, 0, "關於BMI").setIcon(android.R.drawable.ic_menu_help); menu.add(0, MENU_QUIT, 0, "結束BMI").setIcon(android.R.drawable.ic_menu_close_clear_cancel);
選 單
處理選項動作 處理選項動作 onOptionsItemSelected
protected static final int MENU_ABOUT=Menu.FIRST; protected static final int MENU_QUIT=Menu.FIRST+1; @Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub menu.add(0, MENU_ABOUT, 0, "關於BMI").setIcon(android.R.drawable.ic_menu_help); menu.add(0, MENU_QUIT, 0, "結束BMI").setIcon(android.R.drawable.ic_menu_close_clear_cancel); return super.onCreateOptionsMenu(menu); } public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()){ case MENU_ABOUT: break; case MENU_QUIT: return super.onOptionsItemSelected(item);
選 單
選 單
練 習 解 答
選單選項加入圖示 加入選項 menu.add(0, 識別符號, 0, 顯示文字).setIcon();
選單選項加入圖示
控制螢幕方向 預設是可以隨著手機方向旋轉而旋轉 可以在AndroidManiFest.xml中設定不旋轉(很多Game APP就是這樣做) <activity android:name="Main" android:screenOrientation="portrait"></activity> landscape:橫向 portrait:直向