【Android筆記】 探究活動①活動的基本用法

1.第一行代碼Android 第2版 郭霖 著

探究活動①

活動的基本用法

活動是最容易吸引用戶的地方,它是一種可以包含用戶界面的組件,主要用於和用戶交互。

我的理解:活動就像是一個個應用當中不同的界面,每個活動都有自己的佈局和方法,爲用戶提供不同的體驗,通過不同活動的跳轉,最終匯聚成一個完整的APP。

它的基本用法包括:啓動活動、傳遞數據、活動的生命週期、啓動模式等等,可以說,活動爲APP提供了一個整體的框架,讓其他系統組件可以在裏面進行不同的工作。

創建和加載佈局

之前也提及:在Android程序的設計中,我們講究邏輯和視圖分離,最好每一個活動都能對應一個佈局。這樣佈局就用來顯示界面,而活動則實現具體的邏輯。

在XML中,引用資源語法如下:

引用id:@id/id_name

添加id:@+id/id_name

這裏的id可以替換成各種你需要的資源,例如:如果是字符串可以換成string,如果是圖片可以換成drawable,如果是應用圖標可以替換成mipmap,如果是佈局文件可以替換成layout等等。

而如果需要在代碼中應用則可以用R.需要的資源.app_name表示。

在AndroidMainifest文件中註冊

我們知道,所有活動都需要在AndroidMainifest.xml中進行註冊才能生效,而標籤就是用來對活動進行註冊的,在標籤中使用android.name就可以具體註冊哪一活動了。

如果需要將活動設置爲程序的主活動,則需要在標籤的內部加入標籤。例如:

<activity android:name = ".FirstActivity"

    <android:label = "This is FirstActivity">
    <inter-filter>
        <action android:name = "android.intent.action.MAIN" />
        <categorey android:name = "android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

這樣就表示FirstActivity成爲了程序的主活動了,當我們點擊APP時,首先打開的就是這個活動了。

在活動中使用Toast

Toast相當於一種提示信息,在程序中可以使用它將一些短小的信息通知給用戶,這些信息會在一段時間後自動消失,並且不會佔用任何屏幕空間。

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.first_layout);

    //獲取佈局中定義的元素
    Button btn = (Button)findViewById(R.id.button_1);

    btn.setOnClickListener(new View.OnClickListener()){
        @Override
        public void onClick(View v){
            /*
                matkeText()方法創建一個Toast對象,再調用show()就可以將其提示信息顯示出來了。
                該方法需要3個參數,一個參數是上下文對象Contest,第二個參數需要顯示的內容,
                第三個參數是顯示的時長。
            */
            Toast.makeText(FirstActivity.this,"You clicked Button1",Toast.LENGTH_SHORT).show();
        }
    }
}

在活動中使用Menu

在res目錄下的menu文件夾下創建一個main.xml文件

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<iten
    android:id = "@+id/add_item"
    android:title = "Add" />
<iten
    android:id = "@+id/remove_item"
    android:title = "Remove" />
</menu>

這樣我們就創建了兩個菜單項Add和Remove,而id則是這個菜單項指定的一個唯一標識符。

接着重寫onCreateOptionsMenu()方法

public boolean onCreateOptionsMenu(Menu menu){
    //通過getMenuInflater方法得到MenuInflater對象,再調用inflate()方法創建菜單
    getMenuInflater().inflate(R.menu.main,menu);
    //若返回false,菜單則無法顯示。
    return true;
}

最後,我們再定義菜單響應事件就可以簡單運用菜單了。

public boolean onOptionsItemSelected(MenuItem item){
    //通過getItemid()判斷點擊的菜單項,接着加入自己需要的邏輯處理
    switch(item.getItemid()){
        case R.id.add_item:
            Toast.makeText(this,"You clicked Add",Toast.LENGTH_SHORT).show();
            break;
        case R.id.remove_item:
            Toast.makeText(this,"You clicked Remove",Toast.LENGTH_SHORT).show();
            break;  
    }
}

上面都是一些在活動中常用的事件,最後還有一點就是摧毀活動,在平常使用中,我們通過Back鍵就可以摧毀當前活動了,但如果想要通過其他方式摧毀當前活動,則可以通過finish()這個方法就可以摧毀當前活動了,效果和Back一樣。

總結:

這一小節的學習,自己親自創建一個空項目,到創建一個活動,可以直觀的感受到什麼是活動,活動其實就是我們平常在APP當中看到一個一個個頁面,它裏面由不同的組件和佈局構成,而這些組件又通過不同的邏輯連接,最終實現不同的功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章