
第四課:Hello World
本篇目標是要建立一個activity,在該activity上加上一個button,當你按下時,屏幕就會顯示出hello world字樣。
首先建立一個Hello的android project,在res/layout中找到main.xml,它就是xml的layout。在android的環境中,你可以在xml中以xml語法 製作layout,也可以用code來編寫layout。當然,以xml來做會更容易更快速。
在linearLayout中加入一個button的定義。如下
android:id="@+id/btnHello"是為該button加上一個id,這樣系統便會自動在R.java (自動生成的文件)中加入該id。 這樣你便可以通過R.java去取得這id。
然後新增一個HelloActivity的class(如果default沒有生成HelloActivity.java),由於它是個activity,因此你要entends android.app.activity。 然後,你要override第一個遇到的life cycle function - onCreate(),在它裡邊加上以下的code。
如果這個class已在新增project時生成,則在onCreate中,會有一句
setContentView(R.layout.main);
setContentView就是指定該activity(即screen)使用的layout。當指定layout後,你的code就可以按之前在R.java中生成的id來尋回那個button來操作。 這方法是必須學會的,因為這也是最基本的。其他的view也是這樣操作的。
Button btnHello = (Button) findViewById(R.id.btnHello);
btnHello.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(HelloActivity.this, "Hello", Toast.LENGTH_SHORT).show();
}
});
通過findViewById(),你可以用id找尋到想要的view(view就是我們常說的control,即button和textView等。) 找到那個view以後,先把view cast回一個button,然後為它設定一個onClick listener。 Toast.makeText().show()就是在一段短時間內在屏幕顯示,跟我們熟悉的messagebox不同,它是不用按下就會自動消失的,在 android中經常會用到。
Eclipse有一個organize import的功能,可以幫你自動加減import。這裡經常會用到,shortcut是CTRL+SHIFT+O。 另一個shortcut是code assist,就是在打字時自動suggest一些可用的字串給你,在windows中可以按ALT+/。
完成後以virtual device運行一下,或直接接上手機運行。在windows中,如要使用手機運行還要安裝driver,詳情請參考官網。 virtual device基本上是很慢的,而且要boot機,因此筆者建議使用真實android手機測試。
Download: Source code