活動(Activity)的基本操作
轉自: https://blog.csdn.net/qq_32949807/article/details/60590986
活動(Acitivity),是一種可以包含使用者介面的元件,主要用於與使用者互動。
關閉現有的專案,自己先建立一個新的專案:
起名叫做AcivityTest,這裡建立活動時選擇Add no Activity
然後按照圖中所示路徑開啟
緊接著右擊這個空白的com.example.activitytast包->New->Activity->Empty Activity,在彈出的建立活動對話方塊中選擇命名活動為FirstActivity,切不要勾選 generate layout File 和 launcher activity 這兩個選項。
第一個選項代表會自動為FirstActivity建立一個對應的佈局檔案,第二個表示會自動將FirstActivity設定為當前專案的主活動,這裡我們選擇手動來完成這些活動。
BackwardsCompatibility表示會為專案啟動向下相容的模式。最後選擇finish來表示專案建立完成。
專案中的任何活動都必須要重寫Acitivity 中的 onCreat()方法,目前Android Studio已經自動幫我們重寫了這個方法:
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
這裡看到重寫的放大就是呼叫了父類的onCreat()方法,這是預設的實現方式。
建立和載入佈局:
因為安卓程式的設計很講究邏輯和檢視的分離,所以最好每一個活動都能對應一個佈局,佈局就用來顯示介面內容的。
右擊app/src/main/res目錄選擇新建一個名為layout的目錄
然後右擊layout如圖選擇
將這個佈局檔案命名為first_layout,根元素就選擇預設的 LinearLayout。
點ok後就可以看到佈局編輯器,這是Android studio 提供的視覺化佈局編輯器,可以再螢幕中央預覽當前佈局,視窗最下方有兩個切換卡,design是當前的視覺化佈局編輯器,可以通過拖放的方式編輯佈局,Text是通過XML檔案的方式來編輯佈局的,點選text切換卡就可以看到程式碼:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>
因為剛才在建立佈局檔案的時候已經選擇了Linear Layout 作為根元素,現在對這個佈局做編輯,新增一個按鈕:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 1"/>
</LinearLayout>
這裡新增了一個button元素,並在button元素的內部增加幾個屬性。
Android:id是給當前的元素定義了一個唯一的識別符號,之後可以在程式碼中對這個元素進行操作。
@+id/buttton_1 這個語法是在XML 中定義一個id的方法,@id/button_1是在XML中引用一個id的語法,其中改掉id,為string等等就是引用資源的方法。
Android:layout_width指定了當前元素的寬度,這裡設定成match_parent表示讓當前元素和父元素一樣寬,同理android:layput_height是指當前元素的高度,wrap_content表示要與表示當前的元素只要剛好包含裡面的呢內容就行。
現在按鈕已經新增完了,通過可以通過右側工具欄的Preview來預覽一下當前佈局。
看到button1就是建立成功了,這樣就是已經編寫了一個簡單的佈局。
接下來就是在活動中載入這個佈局。
回到FirstActivity,在onCreat()中加入加粗位置的程式碼:
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
}
}
這裡呼叫了一個setContentView()方法來載入佈局,這裡的方法就是傳入一個佈局檔案的id,專案中新增的任何資源都會在R檔案中生成一個資源id。所以我們建立的佈局檔案已經在R檔案中了,這裡可以總結得到一個檔案id的方法就是R.layout.first_out就可以得到這個XML 這個佈局檔案的id,接著傳入setContentView()即可。
所有的活動在AndroidManifest.xml中進行註冊才能生效,實際上Android studio已經幫助我們註冊好了。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.administrator.activitytest">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".FirstActivity"></activity>
</application>
</manifest>
這是在Androidmanifest.xml檔案中的程式碼,活動的註冊在<application>當中,其中android:name 指明瞭具體註冊的是哪一個活動,填入的.activity說明是com.example.activitytest.FirstActivity的縮寫,因為這個檔案已經預設包含在這個程式的包中,在外層的package已經指明瞭這點,所以直接使用了.FirstActivity就足夠了。
但是這樣註冊了活動還是不能夠執行這個活動,因為沒有為程式配置主活動,程式執行時不知道從哪裡來啟動這個活動,配置的方法就是:
在<Activity>標籤的內部加入<intent-filter>標籤並在這裡標籤裡面新增<action android:name="android.intent.action.MAIN"/>和<category android:name="android.intent.category.LAUNCHER"/>這兩句宣告即可。
除此之外,android:lable指定活動中標題欄中的內容,主活動的lable不僅會成為標題欄中的內容,還會成為(Launcher)中應用程式顯示的名稱。
這樣修改完畢之後的程式碼就可以執行了,就可以讓FirstActivity成為我們程式的主活動程式。
得到下圖的結果就代表著我們成功的建立了一個活動。
最後在這裡我們簡單地對建立一個活動進行總結:
1.不選擇原來的empty activity而是選擇add no activity 來建立(這是因為我們只選擇新增一些簡單地活動);
2.在app/src/mian/java/com.example.adminstrator.activitest 這個資料夾中右擊新增一個empty activity;
3.新增布局檔案並且確定主活動(這一步實際上可以讓Android studio幫我們自動完成,但是因為是第一次建立所以我們手動新增);
4.載入佈局:
1)app/src/main/res中新建一個layout目錄;
2)右擊layout新建 layout resource file;
3)在佈局編輯中選擇XML 模式來新增一個按鈕button,設定對應的id號(需要考慮特殊的@+語法)、高度寬度和標籤;
4)在onCreat()方法中使用setContentView(id號)方法來載入這個佈局;
5.載入並確定主活動:
修改Androidmanifest.xml中的程式碼,新增兩句宣告來確定主程式。
相關文章
- Android Activity的基本理解Android
- Android基本控制元件和Activity的基本應用Android控制元件
- Go 操作 Redis 的基本操作GoRedis
- Android基礎-Activity基本使用Android
- Docker的基本操作Docker
- MySQL的基本操作MySql
- git的基本操作Git
- 模組的基本操作
- 棧的基本操作
- webdriver的基本操作Web
- hash的基本操作
- Android 活動(activity)和服務(service)進行通訊Android
- 文章之間的基本總結:Activity生命週期
- JS — 物件的基本操作JS物件
- react的基本操作(1)React
- Hive表的基本操作Hive
- Vim命令的基本操作
- Numpy的基本操作(五)
- Hbase shell的基本操作
- git的基本操作(一)Git
- Docker映象的基本操作Docker
- 佇列的基本操作佇列
- ThinkPHP 的CURD 基本操作PHP
- DriveInfo類的基本操作
- FileInfo類的基本操作
- File類的基本操作
- Dataload的基本操作
- 陣列的基本操作陣列
- webpack 基本操作Web
- Git基本操作Git
- Laravel 基本操作Laravel
- 基本操作題
- dos 基本操作
- MongoDB基本操作MongoDB
- Redis基本操作Redis
- mongo基本操作Go
- HBase 基本操作
- candance 基本操作