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