Android學習筆記(1)————Android四大組件之一(Activity)

來源:互聯網
上載者:User

/********************************************************************************************
 * author:conowen@大鐘                                                                                                                          
 * E-mail:conowen@hotmail.com                                                                                                             
 * http://blog.csdn.net/conowen                                                                                                              
 * 註:本文為原創,僅作為學習交流使用,轉載請標明作者及出處。     
 ********************************************************************************************/

1、Activity是Android四大組件(Application Components)之一,簡單來說Activity就是平常所見到的使用者介面,一般情況下,一個Activity所佔的視窗是滿屏的,但也可以是一個小的位於其它Activity之上的浮動視窗。一個Android工程至少有一個Activity,Activity上面可布有多個view的執行個體,如文字框、進度條、複選框、按鈕等等。多個Activity之間通過Intent來實現跳轉。

註:每建立一個activity,就要繼承(extends)Activity類,複寫onCreate(bundle)方法,然後綁定此activity的布局檔案XML

public class secondactivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        setContentView(R.layout.secondactivity);//綁定布局檔案    }    }

最後還必須在AndroidManifest.xml裡面註冊這個新增加的activity

<activity            android:label="second"            android:name=".secondactivity" >        </activity>

2、下面為Activity的繼承關係,可見Activity繼承與Contex類。

3、Activity的生命週期

       其生命週期有如下幾種

onCreate()、onRestart()、onStart()、onResume()、onPause()、onStop()、onDestroy()

註:

一般更新activity,要複寫onResume(),然後在裡面寫更新的處理方法。

onpause方法與onstop方法的區別。

如果第二個activity沒有完全遮擋住第一個activity時,如第二個activity是對話方塊形式到時候。就只調用第一個activity的onpause方法。

當第二個對話方塊完全遮擋住第一個對話方塊到時候,即第二個Activity是滿屏狀態,就會調用第一個Activity的onpause和onstop方法。

另外關於onResume方法,只用來擷取使用者焦點的(其實就是滑鼠點擊或者拖動之類的),即當前Activity處於啟用狀態。

//第一個activity啟動第二個activity的順序first activity--onpausesecond activity--oncreate--onstart--onresumefirsr activity--onstop//滿屏狀態//--退掉第二個activity的順序,接上面second activity--onpausefirst activity--onrestart----------------->和oncreate差不多--onstart--onresumesecond activity--onstop--ondestroy

4、Activity之間的跳轉與intent

//第一個Activitypackage conowen.Activity.intent;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;public class IntentActivity extends Activity {/** Called when the Activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);//建立一個按鈕和一個編輯框Button bt = (Button) findViewById(R.id.bt);// 通過id找到在main.xml設定的button,// 而且還強制轉換為Button類型,使用findViewById時,前面都要加強制類型。bt.setOnClickListener(new View.OnClickListener() {// setOnClickListener裡面的參數本來為View.OnClickListener,但是可以直接在裡面new這個類的執行個體,然後寫出執行個體就行@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent();EditText et = (EditText)findViewById(R.id.et);String tempstr=et.getText().toString();//.toString()方法表示返回String類型intent.putExtra("result", tempstr);//把值塞入intent,讓其傳遞到第二個Activity,intent相當於郵差,攜帶資料//"result", tempstr表示索引值對,result對應的值為tempstrintent.setClass(IntentActivity.this, secondactivity.class);// IntentActivity為第一個Activity,secondActivity為第一個ActivityIntentActivity.this.startActivity(intent);// 開始跳轉到第二個Activity}});}}

//第二個Activitypackage conowen.Activity.intent;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.TextView;public class secondactivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.secondactivity);Intent intent=getIntent();//擷取intentTextView textview=(TextView) findViewById(R.id.textview);        String res=intent.getStringExtra("result");        //通過索引值對的鍵result,擷取相對應的數值int resint=Integer.parseInt(res);//把字串轉為整型textview.setText(resint+"");//(resint為整型)後面加雙引號,表示括弧裡面的都是字串了。//其實這裡在括弧裡面直接寫res即可,res本為String類型的,熟悉一下轉換方法而已}}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.