這一篇咱們要講的內容主要是Activity的建立以及多個Activity之間的調用和數據的攜帶與返回,相信讀者們耐心且用心的讀完這篇文章必定能學到一些知識,加深對Activity的瞭解和掌握。java
1.Activity的建立:android
步驟以下:
app
(1)在src下的包中新建一個類繼承Activity類(java文件)ide
(2)重寫onCreate方法this
(3)建立與這個Activity對應的xml文件3d
(4)在繼承Activity的類中經過setContentView()加載試圖(上一步建立的xml文件)xml
(5)在AndroidManifest.xml文件中註冊對象
2.Activity之間的跳轉:blog
使用Activity實現不一樣Activity的跳轉繼承
* 1 建立一個新的Activity(略過)
* 2 建立Intend對象,是四個基本組件的橋樑
* 3 啓動Activity的方法 startActivity
* 4 給按鈕添加監聽,實現跳轉
* (1)聲明一個Button,同時在主xml文件中添加一個Button
* (2)經過findViewById方法引入這個Button
* (3)經過setOnClickListener的匿名內部類來添加監聽
具體代碼以下(未列出的代碼在工程建立後由系統自動生成):
(1)建立的新的Activity的java文件Act2.java
package com.example.newactivity; import android.app.Activity; import android.os.Bundle; public class Act2 extends Activity{ //重寫onCreate方法 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //加載試圖 setContentView(R.layout.act2); } }
(2)在主配置文件AndroidManifest.java文件中注意必定千萬不要忘記對新建的Activity進行註冊:
</activity> <activity android:name="Act2"></activity>
(3)main_Activity.xml文件中添加一個用於跳轉的Button:
<Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳轉" />
(4)在MainActivity.java文件中實現跳轉的主要功能代碼:
package com.example.newactivity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { //聲明Button private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //引入對應id號的Button btn=(Button)findViewById(R.id.button); //給Button建立監聽 btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { //建立Intent對象來實現Activity的跳轉 Intent i=new Intent(MainActivity.this,Act2.class); //調用startActivity方法啓動新的Activity startActivity(i); } }); } }
到這裏咱們就能夠運行結果看一下了:
3.Activity之間的數據攜帶
這裏咱們只拿出java文件,其餘文件不寫了,代碼以下:
(1)MainActivity.java
package com.example.startactivity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent i=new Intent(MainActivity.this,Act2.class); i.putExtra("data", "謝謝你把我攜帶到這裏"); startActivity(i); } }); } }
(2)Act2.java
package com.example.startactivity; import android.app.Activity; import android.os.Bundle; public class Act2 extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.act2); String strInfo=getIntent().getStringExtra("data"); System.out.println("Act2--"+strInfo); } }
(3)注意不要忘了Activity的註冊!
運行結果以下:
4.Activity之間的數據返回:
基於前面的數據攜帶,咱們接下來說一下數據的返回,這一點主要應用於註冊或者登錄界面,當跳轉到下一個頁面時可能須要返回給前一個頁面一些值,實現的代碼以下:
(1)MainActivity.java文件:
package com.example.startactivityforresult; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent i=new Intent(MainActivity.this,Act2.class); startActivityForResult(i, 1); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case 1: System.out.println(data.getStringExtra("data")); break; default: System.out.println("返回錯誤"); break; } } }
(2)Act2.java文件:
package com.example.startactivityforresult; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; public class Act2 extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.act2); findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent i=new Intent(Act2.this,MainActivity.class); i.putExtra("data", "我是返回主界面的信息"); setResult(1, i); finish(); } }); } }
(3)運行結果:
今天就到這裏了,你們晚安,GoodNight!