
--app
--manifests
--AndroidManifest.xml(項(xiàng)目啟動(dòng)文件,包括項(xiàng)目基本信息及所有活動(dòng)注冊(cè)信息)
--java
--.../XXXActivity.java(活動(dòng)實(shí)體類)
--res(資源文件夾)
--layout
--activityXXX.xml(活動(dòng)布局文件)
--gradle scripts
--build.gradle(project)(部署文件,包括SDK版本及依賴等)活動(dòng)通俗來講,一個(gè)頁(yè)面(不一定全屏)相當(dāng)于一個(gè)活動(dòng),每個(gè)活動(dòng)具有活動(dòng)周期,頁(yè)面切換即是活動(dòng)切換;活動(dòng)中有各種控件,每個(gè)控件可以提供不同的功能(如按鈕、文本框)。
每個(gè)活動(dòng)對(duì)應(yīng)一個(gè)實(shí)體類和一個(gè)布局文件,在實(shí)體類的onCreate方法中需要加載布局文件,在布局文件中添加的控件可通過id等方式被實(shí)體類調(diào)用,從而實(shí)現(xiàn)頁(yè)面的交互。
安卓基本的管理單位是活動(dòng),當(dāng)一個(gè)活動(dòng)被啟動(dòng)時(shí),將會(huì)被入棧;當(dāng)活動(dòng)被銷毀時(shí),會(huì)被出棧。即:當(dāng)前頁(yè)面所顯示的活動(dòng)為當(dāng)前棧頂?shù)幕顒?dòng)。
返回棧不一定只有一個(gè),但頁(yè)面激活順序只與當(dāng)前返回棧相關(guān),如:
在這種情況下,棧1從底到頂為活動(dòng)1、活動(dòng)3,棧2只有活動(dòng)2,那么從活動(dòng)3選擇返回,棧1將會(huì)彈出活動(dòng)3,當(dāng)前頁(yè)面顯示棧1的棧頂活動(dòng)1;而從活動(dòng)1選擇返回,棧1將會(huì)彈出活動(dòng)1,此時(shí)棧1已空,頁(yè)面將切換到棧2的棧頂活動(dòng)2。
活動(dòng)生命周期(此部分參考博客Android開發(fā) 入門篇(一))
活動(dòng)狀態(tài)每個(gè)活動(dòng)具有四種狀態(tài):運(yùn)行狀態(tài)、暫停狀態(tài)、停止?fàn)顟B(tài)、銷毀狀態(tài)。
Activity類中定義了七個(gè)回調(diào)方法,覆蓋了生命周期中的每一個(gè)環(huán)節(jié)

public class MainActivity extends AppCompatActivity {@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}其中,頁(yè)面布局引用方法為:R.res目錄下頁(yè)面布局文件夾.頁(yè)面布局文件名,如例子中R.layout.activity_main對(duì)應(yīng):
其中:android.name應(yīng)為活動(dòng)實(shí)體類的路徑,因?yàn)橥獠坑衟ackage,可以簡(jiǎn)寫;android.exported為Android12添加的必寫標(biāo)簽,之前版本可以不寫;intent-filter標(biāo)簽中用于進(jìn)行活動(dòng)切換,后文再說。
activity標(biāo)簽位置:
...活動(dòng)切換活動(dòng)切換分為兩種:創(chuàng)建新活動(dòng)、返回上一活動(dòng)。
活動(dòng)切換通過intent進(jìn)行。
創(chuàng)建Intent有幾種方式創(chuàng)建指向SecondActivity的intent:
通過startActivity(intent)跳轉(zhuǎn)至新活動(dòng)
通過startActivity(intent, requestCode)跳轉(zhuǎn)至新活動(dòng),并要求新活動(dòng)銷毀時(shí)返回結(jié)果,結(jié)果以requestCode接收(方法已過期)
Intent intent = new Intent("intentNameTest");
startActivity(intent);
//startActivityForResult(intent, 1)結(jié)束當(dāng)前活動(dòng),返回上一級(jí)銷毀當(dāng)前活動(dòng)通過finish()方法
如果需要返回結(jié)果,則要通過一個(gè)空intent進(jìn)行傳遞,返回?cái)?shù)據(jù)通過putExtra方法傳輸:
Intent emptyIntent = new Intent();
emptyIntent.putExtra("data_return", "返回?cái)?shù)據(jù)");
setResult(1, emptyIntent);
finish();上級(jí)活動(dòng)通過重寫onActivityResult接收,數(shù)據(jù)通過get相關(guān)方法接收:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);
String str = data.getStringExtra("data_return");
}Fragmentfragment是依托于活動(dòng)運(yùn)行的,相當(dāng)于一個(gè)小模塊,每個(gè)活動(dòng)中可以有多個(gè)fragment,同一個(gè)fragment也可以被多個(gè)活動(dòng)引用。
fragment的生命周期不同于活動(dòng),單獨(dú)計(jì)算,但受活動(dòng)影響(活動(dòng)啟動(dòng)不代表fragment啟動(dòng),活動(dòng)銷毀fragment一定銷毀)。
有一些控件是專屬于fragment的。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
新聞名稱:Android開發(fā)-1-創(chuàng)新互聯(lián)
本文URL:http://chinadenli.net/article30/gscpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、用戶體驗(yàn)、企業(yè)建站、網(wǎng)站建設(shè)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容