




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第Android四大組件之Activity詳細(xì)介紹目錄理論概述Activity的理解Activity的定義Activity的作用類(lèi)比Activity與ServletIntent的理解Intent的分類(lèi)Intent的使用IntentFilter的理解相關(guān)的API設(shè)置點(diǎn)擊監(jiān)聽(tīng)Activity中添加監(jiān)聽(tīng)layout中添加監(jiān)聽(tīng)設(shè)置長(zhǎng)按監(jiān)聽(tīng)Activity的開(kāi)發(fā)開(kāi)發(fā)流程Activity的使用
總結(jié)
理論概述
Activity的理解
Activity的定義
Activity,字面翻譯為活動(dòng),他是Android定義的四大應(yīng)用組件之一,也是最重要的用的最多的。
一個(gè)應(yīng)用有多個(gè)界面,也就是包含多個(gè)Activity
Activity的作用
用來(lái)提供一個(gè)能夠讓用戶操作并與之交互的界面
一個(gè)Activity相當(dāng)于一個(gè)容器,用于存放各種控件的容器,也可以理解為是與用戶交互的接口
類(lèi)比Activity與Servlet
Intent的理解
Intent,直譯為意圖,也就是你想要做什么或者想要去哪
Intent(Activity,Service,BroadcastReceiver三個(gè)組件間通信的信使),但不是Android中的四大組件之一。
例如:我要在Activity中啟動(dòng)另外一個(gè)Activity,就必須使用Intent對(duì)象。Intent對(duì)象還可以攜帶數(shù)據(jù)
Intent的分類(lèi)
顯式:明確指定的目標(biāo)組件的意圖(也就是說(shuō)很明確知道要做什么去或者去哪里),當(dāng)操作當(dāng)前應(yīng)用自己的組件的時(shí)候使用顯式Intent
隱式:沒(méi)有明確指定目標(biāo)組件的意圖(也就是說(shuō)不明確知道要做什么去或者去哪里),操作其它應(yīng)用自己的組件的時(shí)候使用隱式Intent
Intent的使用
創(chuàng)建
顯式:Intent(Contextcontext,ClassactivityClass),使用這樣的構(gòu)造函數(shù)創(chuàng)建的Intent對(duì)象就是顯式的
隱式:Intent(Stringaction)//與Activity與的action匹配,使用這樣的構(gòu)造函數(shù)創(chuàng)建的Intent對(duì)象就是隱式的,例如分享功能,也是啟動(dòng)另外一個(gè)Activity,但是到底啟動(dòng)哪個(gè)Activity,還不知道,由用戶選擇
攜帶數(shù)據(jù)
額外:putExtra(Stringkey,Xxxvalue)內(nèi)部用map容器保存
有特定前綴:setData(Uridata)//tel:123123,smsto:123123
讀取數(shù)據(jù)
額外:XxxgetXxxExtra(Stringkey)
有特定前綴:UrigetData()
IntentFilter的理解
在配置Activity時(shí),可以為Activity指定一個(gè)IntentFilter的配置
如果你的Activity希望其他應(yīng)用能訪問(wèn)到,需要配置intent-filter
如果這個(gè)Activity是被內(nèi)部應(yīng)用的某個(gè)Activity來(lái)訪問(wèn)的,就不需要配置intent-filter
如果想啟動(dòng)其他應(yīng)用界面你必須用隱式的intent,且目標(biāo)界面Activity配置了intent-filter
相關(guān)的API
設(shè)置點(diǎn)擊監(jiān)聽(tīng)
Activity中添加監(jiān)聽(tīng)
view.setOnClickListener(OnClickListenerlistener);
layout中添加監(jiān)聽(tīng)
layout中
Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:android:text="帶回調(diào)啟動(dòng)"/
Activity中
packagecom.example.activity_01;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.Toast;
publicclassMainActivityextendsActivity{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
publicvoidMainStart2(Viewview){
Toast.makeText(this,"帶回調(diào)啟動(dòng)",Toast.LENGTH_SHORT).show();
}
設(shè)置長(zhǎng)按監(jiān)聽(tīng)
view.setOnLongClickListener(OnLongClickListenerlistener);
Activity的開(kāi)發(fā)
開(kāi)發(fā)流程
1.界面布局
2.實(shí)現(xiàn)Activity的功能
1).定義所有需要操作的視圖對(duì)象并初始化
2).給視圖設(shè)置監(jiān)聽(tīng)
3).在回調(diào)方法中實(shí)現(xiàn)邏輯
3.實(shí)現(xiàn)一般啟動(dòng)
1).定義好界面二
1).布局
2).定義Activity類(lèi)
3).配置
4).重寫(xiě)onCreate(),并加載布局
2).啟動(dòng)界面二
1).創(chuàng)建Intent對(duì)象(顯式)
2).通過(guò)intent攜帶額外數(shù)據(jù)
3).啟動(dòng)Activity
4).得到intent對(duì)象
5).通過(guò)intent讀取額外數(shù)據(jù)
6).顯示到EditText
4.實(shí)現(xiàn)一般返回:
1).在顯示Second界面時(shí),Main界面其實(shí)在,只是被蓋住了
2).關(guān)閉當(dāng)前界面:finish()
Activity的使用
界面布局
實(shí)現(xiàn)Activity的功能
1).定義所有需要操作的視圖對(duì)象并初始化
2).給視圖設(shè)置監(jiān)聽(tīng)
3).在回調(diào)方法中實(shí)現(xiàn)邏輯
packagecom.example.activity;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.Toast;
importcom.google.android.material.textfield.TextInputEditText;
publicclassMainActivityextendsActivityimplementsView.OnClickListener{
privateTextInputEditTextmain_message;
privateButtonbtn_main_start1;
privateButtonbtn_main_start2;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//視圖對(duì)象并初始化
main_message=findViewById(R.id.et_main_message);
btn_main_start1=findViewById(R.id.btn_main_start1);
btn_main_start2=findViewById(R.id.btn_main_start2);
//給視圖設(shè)置監(jiān)聽(tīng)
btn_main_start1.setOnClickListener(this);
btn_main_start2.setOnClickListener(this);
//在回調(diào)方法中實(shí)現(xiàn)邏輯
@Override
publicvoidonClick(Viewview){//view就是發(fā)生(操作的)事件的視圖對(duì)象
if(view==btn_main_start1){
Toast.makeText(this,"一般啟動(dòng)",Toast.LENGTH_SHORT).show();
}elseif(view==btn_main_start2){
Toast.makeText(this,"帶回調(diào)啟動(dòng)",Toast.LENGTH_SHORT).show();
}
實(shí)現(xiàn)一般啟動(dòng)
1).定義好界面二
1).布局
2).定義Activity類(lèi)
3).配置
4).重寫(xiě)onCreate(),并加載布局
2).啟動(dòng)界面二
1).創(chuàng)建Intent對(duì)象(顯式)
2).通過(guò)intent攜帶額外數(shù)據(jù)
3).啟動(dòng)Activity
4).得到intent對(duì)象
5).通過(guò)intent讀取額外數(shù)據(jù)
6).顯示到TextInputEditText
配置清單
xmlversion="1.0"encoding="utf-8"
manifestxmlns:android="/apk/res/android"
package="com.example.activity_01"
application
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/Theme.Activity_01"
android:name:配置全類(lèi)名,com.example.activity_01.SecondActivity,可以將包名省略
android:label:定義一個(gè)Activity的標(biāo)題,可以引用一個(gè)字符串(必須在string.xml中有定義),也可以直接寫(xiě)字符串,但不建議
SecondActivity是由MainActivity(內(nèi)部Activity)來(lái)啟動(dòng)訪問(wèn)的,所以SecondActivity不需要配置intent-filter
activity
android:name=".SecondActivity"
android:label="@string/second_activity_label"
android:exported="false"/
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 區(qū)域經(jīng)濟(jì)生態(tài)圈構(gòu)建與發(fā)展策略
- 甲醛中毒的臨床護(hù)理
- 醫(yī)療健康行業(yè)的綠色環(huán)保發(fā)展策略研究
- 倒水泥混凝土合同范例
- 企業(yè)綠化實(shí)施合同范例
- 住房認(rèn)購(gòu)合同范例
- 醫(yī)療大數(shù)據(jù)的倫理教育在行業(yè)中的重要性
- 烏魯木齊房屋預(yù)售合同范例
- 健康信息在公共政策制定中的貢獻(xiàn)及保護(hù)措施探討
- 供應(yīng)鏈透明化在醫(yī)療領(lǐng)域的應(yīng)用與挑戰(zhàn)
- 職場(chǎng)溝通職場(chǎng)溝通與人際關(guān)系處理知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春山東管理學(xué)院
- 二項(xiàng)式定理專(zhuān)項(xiàng)訓(xùn)練解析版
- 人教PEP版英語(yǔ)四年級(jí)下冊(cè) 圖片和單詞專(zhuān)項(xiàng)練習(xí)
- 智慧樹(shù)知到《運(yùn)動(dòng)生理學(xué)(湖南師范大學(xué))》2025章節(jié)測(cè)試附答案
- 智網(wǎng)招聘面試題及答案
- 實(shí)驗(yàn)06 探究凸透鏡成像的規(guī)律-中考物理實(shí)驗(yàn)之真題匯編(解析版)
- 電商客服崗轉(zhuǎn)正述職報(bào)告
- 標(biāo)準(zhǔn)實(shí)施情況報(bào)告
- 農(nóng)業(yè)安全問(wèn)題
- 導(dǎo)管護(hù)理相關(guān)知識(shí)
- 上海2025年上海交通大學(xué)醫(yī)學(xué)院招聘72人筆試歷年參考題庫(kù)附帶答案詳解
評(píng)論
0/150
提交評(píng)論