活動概念:是一種可以包含用戶界面的組件,主要用於和用戶進行交互
手動創建活動:新建一個Android項目,項目名為ActivityTest,包名使用默認值com.example.activitytest
1.新建Android Studio項目

點擊Start a new Android Studioproject

將包名改為ActivityTest,其余默認,點擊Next

默認,點擊Next

選擇Add No Activity,點擊Finish

項目創建完成
#######################################
2.手動創建活動
點擊app->java->com.administrator.activitytest->New->Java Class


輸入類名FirstActivit,點擊OK

讓新建的FirstActivity.java類繼承自Activity,並重寫Activity的onCreate()方法

- public class FirstActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
- }
onCreate()方法非常簡單,就是調用了父類的onCreate()方法
#############################################
3.創建和加載布局
Android程序的設計講究邏輯和視圖分離, 最好每一個活動都能對應一個布局,布局就是用來顯示界面內容的
點擊app->res->New->XML->Layout XML File,彈出一個創建布局文件的窗口


給布局文件命名為first_layout,根元素默認選擇為LinearLayout,點擊Finish


上面兩圖為可視化布局編輯器,在窗口的左下方有兩個切換卡<Design>和<Text>(左邊是Graphical Layout,右邊是first_layout.xml)
轉到first_layout.xml,添加一個按鈕Button

- <Button
- android:id="@+id/button_1"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Button 1"
- />
在<LinearLayout></LinearLayout>之間添加上述代碼
Button元素的內部增加了幾個屬性:
android:id:給當前的元素定義一個唯一標識符,之后可以在代碼中對這個元素進行操作。
格式:@+id/id_name表示在XML中定義一個id(相關語法:@id/id_name表示在XML中引用資源)
android:layout_width:指定當前元素的寬度,使用match_parent表示讓當前元素和父元素一樣寬
android:layout_height:指定當前元素的高度,使用wrap_content表示當前元素的高度只要能剛好包含里面的內容就行
android:text:指定元素中顯示的文字內容

重新回到FirstActivity.java類,在onCreate()方法中加入下述代碼:
- public class FirstActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.first_layout);
- }
- }
setContentView()方法來給當前的活動中加載一個布局
#######################################################33
3.在AndroidManifest文件中注冊
所有的活動都要在AndroidManifest.xml中進行注冊才能生效
點擊app->manifests->AndroidManifest.xml

活動的注冊聲明要放在<application>標簽內,通過<activity>標簽來對活動進行注冊
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.administrator.activitytest">
- <application android:allowBackup="true" android:label="@string/app_name"
- android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme">
- <activity android:name=".FirstActivity"
- android:label="This is FirstActivity" >
- <intent-filter>
- <action android:name="android.intent.action.main" />
- <action android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
- </manifest>
android:name:指定具體注冊注冊哪一個活動 填入的.FirstActivity是com.example.activitytest.FirstAcivity的縮寫
由於最外層的<manifest>標簽中已經通過package屬性指定了程序的包名是com.example.activitytest,因此在注冊活動時這一部分就可以省略,直接使用.FirstActivity就足夠了
android:label:指定活動中標題欄的內容,標題欄是顯示在活動最頂部(也可能無法顯示,親測)
給主活動指定的label不僅會成為標題欄中的內容,還會稱為啟動器(Launcher)中應用程序顯示的名稱
在<activity>標簽的內部加入<intent-filter>標簽,並在這個標簽里添加<action android:name="android.intent.action.MAIN" />和
<category android:name="android.intent.category.LAUNCHER" />這兩句聲明
note:如果你想讓FirstActivity作為程序的主活動,即點擊桌面應用程序圖標時首先打開的就是這個活動,就一定要加入這兩句聲明
##############################################
注意 注意 注意 重要的地方講三遍

點擊菜單欄app->Edit Configurations

在Target Device選項中,選擇USB device(真機調試)

但是發現錯誤,Error:Default Activity not found
所以,在上圖Activitcy文件框中修改如下

點擊Run,程序運行成功
手機截圖如下:


