close
今晚的課程非常充實,想想昨晚下飛機後馬上開始寫程式就值得了。上課前提早到教室把程式再寫一遍,確實是一個好方法。課程進行了一半了,因為是速成班,所以速度很快,老師今天把過去課程總整理,才理解到說開發環境、架構、android專案、android元件(TextView, EditText, Button等)、使用者互動(Intent, Bundle)、Activity生命週期(OnCreate-OnStart-OnResume-OnPause-OnStop-OnDestroy)、Intent、另一個Activity、傳遞資料(Extra, Bundle)、儲存資料(SharedPreferences, SQLite)、展示資料(ListView, GridView)全都跑過了一遍!!! 大驚啊!!!!
今天的課程非常有成就感,算是入門的集大成,回想這一個月,從一個門外漢,到現在可以模仿寫ATM APP,真是不可思議!!!

更進一步,今天要記錄兩個觀念:

1. Java只允許一個繼承關係,所以要帶入Implement觀念
程式重點在於可讀性,如果可以多重繼承,父類別往上一直往上開展的話,就變成一棵大樹,讀的人就不知道到底是哪一個方法,需要花很多時間去猜,去追溯,所以Java允許單一繼承關係,然而,需要多重繼承時,在方法下可以用Implememt把其他方法拉進來(老師稱之為乾爹)。
以OnItemClickListener為例,因為public class FuncActivity extends Activity繼承Activity而來,已經單一繼承,如果需要把OnItemClickListener方法帶入,就要用到implement。


implement之後,要去新增 implement項目所屬的子方法,才算完整。


2.完成之後,利用switch, case, break的語法,OnItemClickListener收到各個item被touch的反應各為怎樣。
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long itemId) {
Toast.makeText(this, position+"", Toast.LENGTH_SHORT).show(); 測試把編號吐出來
switch ((int)itemId) {
case R.drawable.f1:
//開啟餘額查詢
break;
case R.drawable.f2:
break;
case R.drawable.f3:
break;
case R.drawable.f4:
//歷史交易HistoryActivity
break;
case R.drawable.f5:
break;
} }
3. 模擬器結果: 登入正確後進入功能選單





各選單功能icon已經寫了OnItemClickListener,所以被touch到的時候,暫時先以toast把position號碼吐出來。測試結果按下餘額查詢後,顯示position編號0,設定成功!!!!



後記: 非常實用的一些功能,原以為Touch panel上每一個 dot要去偵測,結果android的人寫了OnItemClickLietsner去傾聽這個物件被按到的訊號,這麼簡單的方式,無怪乎這麼多人能夠開發觸控功能的遊戲。


arrow
arrow
    全站熱搜

    brianc18 發表在 痞客邦 留言(0) 人氣()