Android學習(一)Activity

來源:互聯網
上載者:User

標籤:

  一丶什麼是活動(Activity)

    活動是一種可以包含使用者介面的組件,主要用於和使用者進行互動。一個應用程式可以包含零個或多個活動.

  二丶活動的基本用法

    首先需要在AndroidManif中對活動進行註冊:

      <activity>

        ......

      </activity>

     還可以在Acitiviy的類中的OnCreate方法中用requestWindowFeature方法指定活動的標題列

    當然可以使用findViewById()方法來使用在資源檔裡載入的資源。如: Button button=(Button)findViewById(R.id.button);

     Toast的用法:Toast.makeText(Activity.this,"",Toas.鍵參).show();

     在活動中使用菜單,當然還是需要先在res中建立菜單的xml檔案,然後在Activity類中重寫onCreateOptionMenu()方法

    pubilc boolean onCreateOptionMenu()

    {

      getMenuInflater().inflate(R.menu.菜單名,menu);

      return true;

    }

    如果要響應菜單的點擊事件的話就需要在重寫onOptionsItemSelected(MenuItem item)方法,使用switch(item.getItemid())        進行判斷就行了。

    

    在不同的活動之間穿梭:使用Intent  

    顯式調用
    Intent intent = new Intent(FirstActivity.this,SecondActivity.class);

    startActivity(intent);
    隱式調用
    Intent intent = new Intent("com.example.activitytest.ACTION_START");
    intent.addCategory("com.example.activitytest.MY_CATEGORY");

    startActivity(intent);

           還可以使用intent.setData()方法更多的顯示調用。比如如果要開啟百度:intent.setData(Url.parse("http://www.baidu.com"));

                            如果要開啟電話:intent.setData(Url.parse("tel:10086"));

          Intent還可以用來在活動之間傳遞資料,它提供了putExtra()方法。

    Activity1: intent = new Intent(Activity1.this,Activity2.class);

          intent.putExtra("extra_data",data);

    Activity2: intent = getIntent();

          String data = intent.getStringExtra("extra_data");

         如果需要返回資料給上一個活動,那麼需要使用startActivityForResult()來啟動子活動,然後在子活動中使用setResul方法,在主活動中重寫                           onActivityResult(),在onActivityResult()中通過switch(reuestCode)來判斷是哪一個子活動,該值在啟動子活動時指定。

     

        活動的生命週期:

    1.onCreate()     2.onStart()     3.onResume()     4.onPause()     5.onStop()    6.onDestroy()

            7.onRestart()

            

      完整生存期:onCreate和onDestroy之間所經曆的

      可見生存期:onStart和onStop之間所經曆的

      前台生存期:onResum和onPause之間所經曆的

     

     活動的啟動模式:

    1.standard(預設)    

    2.SingleTop    :在啟動時如果發現返回棧的棧頂已經是該活動,則認為可以之間使用它,不會再建立新的活動執行個體。

          3.SingleTask  :在啟動時首先檢查返回棧中是否存在該活動是執行個體,如果發現已經存在則直接使用該執行個體,並且把在這個活動之                                  上的所以活動統統出棧,如果沒有發現就建立一個新的活動執行個體。

    4.SingleInstance  :會指定一個新的返回棧來管理該活動。(解決共用活動執行個體)

 

   活動實踐:   

    1.知曉當前是在哪一個活動: 建立一個BaseActivity使其它的活動都繼承於它,然後在onCreate()中 Log.d("BaseActivity",

     getClass().getSimpleName());

     2.隨時隨地退出程式:建立個ActivityCollector類作為Active Manager,使用List<Activity>activities來管理。

     

 

Android學習(一)Activity

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.