Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 了解Activity

了解Activity

編輯:關於Android編程

依照郭霖老師的《第一行代碼Android》,今天我要來學習Activity,首先來初步了解Activity,基本上就是照葫蘆畫瓢的模式,有點回到當初敲java的hello world的模式。

順便介紹一下我為什麼要學習安卓,至於說自己能夠學習到什麼程度,這完全看項目的需要以及個人的興趣,但是我對自己持懷疑態度。項目未來要由pc端轉向手機端,雖然有專業的安卓工程師,但作為創業團隊,我必須要對安卓有所了解,況且我還“精通”(姑且這麼說來著,王二的臉皮本來就厚)java,所以之前就研究了安卓環境的部署,花了100多人民幣注冊了紅杏出牆(不料不到兩周的時間,突然被封殺了,這種付費模式真不敢恭維,所以在國內免費來得更加讓人心安理得些),寫了一篇安卓版的hello world,之後就忙其他的事情,時隔多日,再次學習安卓,只想一步一個腳印兒。

一、Activity基本用法

①、新建button

    
至於說id為什麼是”@+id”作為定義方式,不清楚,約定俗成的東西,先記住。 match_parent比較好理解,匹配父容器的寬度 wrap_content自動換行 text=”aaa”,不知道為什麼會有黃點,可能是要定義到string裡,先記錄疑問。 另外還有一點不知道為什麼:新建一個Android 布局xml後,雙擊怎麼就是打不開,刪掉項目,重啟ATD幾次後方可打開

②、新建Activity

package com.mwq.activity;

import android.app.Activity;
import android.os.Bundle;

public class FirstActivity extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.first_layout);
    }
}
R.layout.first_layout糾結了好一會,在引入R包的時候,切記是本項目的包(也就是你創建項目app時指定的package),而非android包下的R,這個R對應也有自己的layout屬性,但是調不出來first_layout(也就是上文中創建的layout),這有點坑。不過書中也提到了,但王二我就是容易眼瞎,還是忽略掉了友情提示。

③、注冊Activity

        
            
                
                
            
        
感覺label很多余,不過驗證後,發現還是有區別的,這個可能書中某處已有介紹,我沒有注意。 對於ATD來說,提示確實不夠靈活,android.intent.action.MAIN對於這樣的提示應該輸入一個main就可以定位到,但是完全沒辦法做到,夠low的。

這裡寫圖片描述

④、基本拓展

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

        Button button = (Button) findViewById(R.id.button_1);
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Toast.makeText(FirstActivity.this, "王二表現不錯", Toast.LENGTH_SHORT).show();
            }
        });
    }
requestWindowFeature(Window.FEATURE_NO_TITLE)設置後,運行虛擬機過程中有延遲,先顯示後不顯示,以後不知道是否有新用法。 Toast消息提醒,感覺挺不錯的,makeText方法的第一個參數為context,從api上來看就是application和activity,第三個參數為顯示周期,長或者短,但不知道默認的長短是多少時間,看代碼,好像是可以指定。
    /**
     * Show the view or text notification for a short period of time.  This time
     * could be user-definable.  This is the default.
     * @see #setDuration
     */
    public static final int LENGTH_SHORT = 0;

⑤、使用menu

先新建一個menu.xml



	  

重寫onCreateOptionsMenu方法

    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
getMenuInflater方法依照書中所說是獲得menu的Inflater對象,再調用inflate方法可以顯示對應的菜單,我反正還不太懂,只是理解會用。 return true和false控制菜單顯示和不顯示,確實這樣子。

彈出消息

    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.item1:
            Toast.makeText(this, "add", Toast.LENGTH_LONG).show();
            break;
        case R.id.item2:
            Toast.makeText(this, "update", Toast.LENGTH_LONG).show();
            break;

        default:
            break;
        }
        return true;
    }

先了解到這裡吧,項目中來問題了。整體來看,安卓的activity還是蠻有意思的。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved