歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android開發教程:Activity的簡介

Android開發教程:Activity的簡介

日期:2017/3/1 10:36:34   编辑:Linux編程

1.Activity的概念介紹

Activity是Android組件中最基本也是最常用的一種組件,在一個Android應用中,一個Activity通常就是一個單獨的屏幕。每一個Activity都被實現為一個獨立的類,並且繼承於Activity這個基類。

activity類處於android.app包中,繼承體系如下:

1.java.lang.Object

2.android.content.Context

3.android.app.ApplicationContext

4.android.app.Activity

2.Activity的創建

Activity提供了和用戶交互的可視化界面。創建一個Activity一般是繼承Activity(也可以是LisActivity,MapActivity等),覆蓋Activity的onCreate( )方法,在該方法中調用setContentView( )方法來展示要顯示的視圖,調用findViewById( )方法實例化組件。注意Activity只有在清單文件中聲明才能使用。

3.Activity的應用實例

3.1兩個Activity之間的切換

要做到兩個Activity之間的切換(也就是從一個Activity啟動另一個Activity),可以使用startActivity( )方法或者startActivityForResult( ) (能夠返回結果)。這兩個方法要傳遞的參數是組件Intent。

下面的實例是MainActivity和SecondActivity之間的切換:

main.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <TextView
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:text="@string/hello1"
  11. />
  12. <Button
  13. android:id="@+id/btn"
  14. android:layout_width="wrap_content"
  15. android:layout_height="wrap_content"
  16. android:text="轉到SecondActivity"
  17. />
  18. </LinearLayout>

second.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <TextView
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:text="@string/hello2"
  11. />
  12. <Button
  13. android:id="@+id/secondBtn"
  14. android:layout_width="wrap_content"
  15. android:layout_height="wrap_content"
  16. android:text="返回"
  17. />
  18. </LinearLayout>

MainActivity.java

  1. package com.android.test.activity;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.view.View.OnClickListener;
  7. import android.widget.Button;
  8. public class MainActivity extends Activity {
  9. private Button btn;
  10. @Override
  11. public void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.main);
  14. btn = (Button)findViewById(R.id.btn);
  15. //響應按鈕btn事件
  16. btn.setOnClickListener(new OnClickListener() {
  17. @Override
  18. public void onClick(View v) {
  19. //顯示方式聲明Intent,直接啟動SecondActivity
  20. Intent it = new Intent(MainActivity.this,SecondActivity.class);
  21. //啟動Activity
  22. startActivity(it);
  23. }
  24. });
  25. }
  26. }

SecondActivity.java

  1. package com.android.test.activity;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.view.View.OnClickListener;
  7. import android.widget.Button;
  8. public class SecondActivity extends Activity {
  9. private Button secondBtn;
  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.second);
  14. secondBtn=(Button)findViewById(R.id.secondBtn);
  15. //響應按鈕secondBtn事件
  16. secondBtn.setOnClickListener(new OnClickListener() {
  17. @Override
  18. public void onClick(View v) {
  19. //顯示方式聲明Intent,直接啟動MainActivity
  20. Intent intent = new Intent(SecondActivity.this,MainActivity.class);
  21. //啟動Activity
  22. startActivity(intent);
  23. }
  24. });
  25. }
  26. }
Copyright © Linux教程網 All Rights Reserved