android中如何新建一个activity,《Android Activity》活动的介绍和创建
Activity 是什么
Android 有四大組件:Activity、Service、Broadcast Receiver 和 Content Provider。
Activity,活動,即用來承載用戶界面的容器,Android 四大組件之一。我們在 APP 里面看到的頁面就需要一個 Activity,頁面之間的跳轉就是 Activity 之間的跳轉。比如,登陸頁面是一個 LoginActivity,注冊頁面是一個 RegisterActivity,當我們需要從登陸頁面跳轉到注冊頁面時,也就是 LoginActivity 通過 Intent 跳轉到 RegisterActivity。
默認生成的 MainActivity
我們新建一個 Android 項目時,通過會默認生成一個 Activity,叫 MainActivity,這個 MainActivity 就是此時這個項目唯一的頁面,也是 APP 的啟動頁面,不過你可以根據自己的需求新建其它的 Activity。
為什么說此時的 MainActivity 就是 APP 的啟動頁面呢?我們可以打開 AndroidManifest.xml 文件,任何一個 Activity 都需要在這個文件里面配置,我們會看到這樣的代碼:
package="com.example.skypan.myapplication">
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
package 是程序的包名,在 application 標簽中我們看到有 MainActivity,其中:
這幾行代碼的意思是,選擇 MainActivity 作為程序的主頁面,且點擊桌面圖標時可以啟動這個頁面,如果你需要把其它的 Activity 作為主頁面,可以把這幾行代碼移過去。
如果我們此時新建了一個其它的 Activity,比如 LoginActivity,那么我們需要在這個文件中注冊:
package="com.example.skypan.myapplication">
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
正如上面所說,每新建一個 Activity 都需要在這個文件中注冊,初學者容易忘記。
大家有沒有發現這么一行代碼:android:name=".MainActivity",這是 Activity 的名字,且名字必須是完整的路徑名,.MainActivity 是一種簡寫形式,意思就是“.”前面是包名,只有包名路徑可以用“.”表示,其它的必須寫完整路徑,這里也可以寫成 “com.example.skypan.myapplication. MainActivity”。
我們在這個文件中還可以配置 Activity 的其它屬性,例如啟動模式、橫屏豎屏等等:
android:name=".LoginActivity"
android:launchMode="standard"
android:screenOrientation="portrait">
我們再看看 MainActivity 這個類:
package com.example.skypan.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
我們發現 MainActivity 繼承的并不是 Activtiy,而是 AppCompatActivity。這是因為 AppCompatActivity 是 android.support.v7 包下面的兼容類,我們還可能繼承別的以 *Activity 為后綴的類,但是它們的最終父類一定是 Activity。我們查看源碼發現,AppCompatActivity 的繼承關系如下圖:
MainActivity 里面有一個重要的方法 onCreate,我們大部分事情都在這個方法里面實現。setContentView(R.layout.activity_main) 是設置 Activity 的布局文件,也就是這個頁面長什么樣子,絕大多數情況下我們都需要寫上這句,因為我們每個 Activity 基本都需要一個視圖,當然,也有不需要的。activity_main 就是這個 Activity 的布局文件,在 res/layout 文件夾下面,是一個 xml 文件,我們通過 R.layout.xxx 來使用。
我們如何來新建一個 Activity
有兩種方式。
第一種比較簡單,直接通過右鍵選項來新建,這種方式會幫我們把 layout 文件,和 AndroidManifest.xml 文件都配置好,一步到位。
點擊 Finish 按鈕,就會幫我們把所有文件都生成好:
第二種方式是我們自己創建各個文件,這兩種方式在實際開發中都很常用。
1、新建一個類繼承 AppCompatActivity,并重寫 onCreate 方法。
2、在 res/layout 文件夾下新建一個 layout 布局文件。
3、在 Activity 中引入該布局。
4、在 AndroidManifest.xml 文件中注冊該 Activity。
1、新建一個類繼承 AppCompatActivity,并重寫 onCreate 方法。
貼士:填寫 Superclass 的時候我們不需要從 android.support 開始寫起,直接輸入 AppCompat 會有提示讓你選擇的。
點擊 OK 之后我們在 Test2Activity 中重寫 onCreate 方法。同樣,也不用一個字母一個字母的寫,直接在大括號中輸入 onCreate 會有提示讓你選擇的。
2、在 res/layout 文件夾下新建一個 layout 布局文件。
3、在 Activity 中引入該布局。
4、在 AndroidManifest.xml 文件中注冊該 Activity。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的android中如何新建一个activity,《Android Activity》活动的介绍和创建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python attention机制_从
- 下一篇: android 控制word,Andro