android移動應用基礎教程源代碼,Android移動應用基礎教程 【程序活動單元Activity】...

本章目錄

一、Activity的生命周期

1、生命周期狀態

2 、生命周期方法

3、橫豎屏切換時的生命周期

二、Activity的創建配置和關閉

1、Activity的創建

2、配置Activity

3、開啟和關閉Activity

三、Intent與IntentFilter

1、Intent介紹

1.1 意圖的概念

1.2 顯式意圖

1.3 隱式意圖

2、IntentFilter

2.1 過濾器

2.2 action屬性

2.3 data屬性

2.4 category屬性

四、Activity之間的跳轉

1、數據傳遞

2、數據回傳

五、Activity的任務棧和啟動模式

1、Android中的任務棧

2 、Activity的啟動模式

2.1 standard模式

2.2 singleTask模式

2.3 singlestance模式

六、使用Fragment

1、Fragment簡介

2、Fragment的生命周期

3、創建Fragment

4、在Activity中添加Fragment

5、創建Fragment

七、本章總結

一、Activity的生命周期

1、生命周期狀態

c19009f11f45c49395696ca915165068.png

2 、生命周期方法

57c8af1546bee205d04e6b465498be07.png

0638789149a39f71887020a27fd559de.png

3、橫豎屏切換時的生命周期

cd971b365c5a39a6faaaed0736dff8e1.png

d8f98cc60e27d07d25d358c734a85635.png

二、Activity的創建配置和關閉

1、Activity的創建

d5af4d6c86c180c27eac43ac02c5b20a.png

855da4fa9c98a0a1bc988304e42eced1.png

2、配置Activity

db540cbfc49af083a3576d65939d0f14.png

cdb27ff011d9f6f81873399b261aceb9.png

3、開啟和關閉Activity

f781aa3318bdaf03ef1b2b53b5615ca0.png

三、Intent與IntentFilter

1、Intent介紹

1.1 意圖的概念

1e9ca2cf395048abff9139547e31c7d9.png

045add96faab11ae7daeca75359d7682.png

1.2 顯式意圖

b31f1a8c3a7c58a46b126e23bee7ad99.png

1.3 隱式意圖

98bfe96831fbabd7f2a00bb19e72c4aa.png

2、IntentFilter

2.1 過濾器

ffeebdfe2731c3b39336f81406d95c43.png

2.2 action屬性

5c346c521cb17d426f07792bae24c188.png

2.3 data屬性

9b811f84d6328244c4d121d029e8227d.png

2.4 category屬性

aeb7cc06de22210713cfa88f07140d11.png

四、Activity之間的跳轉

1、數據傳遞

d0f66acfb6e1eadfca60f847e09a87fa.png

2294e64420c0cfedf40b9f4400c85b45.png

073ec64821b69cde121bb060187bd678.png

2、數據回傳

0005e3fc067c28ab73214ccab5c63731.png

Intent intent = new Intent(MainActivity.this,SecondActivity.class);

startActivityForResult(intent,1);

//使用startActivityForResult方法開啟SecondActivity,第1個參數是Intent對象,第2個參數是請求碼,用于標識請求的來源。

Intent intent = new Intent();

intent.putExtra("data","Hello MainActivity");

setResult(2,intent);//在SecondActivity 中添加返回數據。

finish();

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {// SecondActivity被銷毀之后在MainActivity中回調onActivityResult()方法。

super.onActivityResult(requestCode, resultCode, data);

if (requestCode == 1&&resultCode == 2){

String acquiredData= data.getStringExtra("data"); //獲取回傳的數據

Toast.makeText(MainActivity.this,acquiredData,Toast.LENGTH_SHORT).show();

}

}

五、Activity的任務棧和啟動模式

1、Android中的任務棧

0e12c816275b265985655db7d58c83d1.png

2 、Activity的啟動模式

2.1 standard模式

a6f4a113540e33aca91713f5682642b0.png

2.2 singleTask模式

69e003aebb7020217590c27d219b1929.png

2.3 singlestance模式

2eb863688f1df71b4e577dd8524699c4.png

六、使用Fragment

1、Fragment簡介

b03085dfe62d6b430211958f4ca2cc78.png

2、Fragment的生命周期

421edda7c7b1b8ef401e4764b06bd51d.png

a9c4b161d8abd6df660509033bfccf15.png

3、創建Fragment

30d675561c17e2a626005ffb69d33c44.png

4、在Activity中添加Fragment

dd4bdbbfe679a9ee649ab703de78aeea.png

653acfe6ff02f67a99d49e749faeee9f.png

5、創建Fragment

NewsListFragment fragment = new NewsListFragment();//實例化Fragment對象

FragmentManager fm = getFragmentManager();//獲取FragmentManager實例

FragmentTransaction beginTransaction = fm.beginTransaction();//開啟事務

beginTransaction.replace(R.id.ll,fragment); //添加Fragment

beginTransaction.commit();//提交事務

七、本章總結

本章主要介紹了Activity的相關知識,包括了Activity的生命周期,如何創建、開啟和關閉單個Activity、Intent和IntentFilter、Activity之間的跳轉與數據傳遞和Activity的啟動模式以及Fragment的使用。在Android程序中用到最多的就是Activity以及Activity之間數據的傳遞,因此要求讀者必須掌握這部分內容。

人生,不是一成不變的,生活,不是固定不變的。得意時不要炫耀,失意時不要氣餒,給別人一點真誠,給自己一份信心。做人重要的是學會寬容,不要刻意地笑話別人,或許今天你是歡樂的,明天就會是失落的,人生多變,包容不變。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370097.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370097.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370097.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

elasticsearch中cluster和transport知識

elasticsearch cluster 概述 elasticsearch節點間通信的基礎transport轉載于:https://www.cnblogs.com/wzj4858/p/8126033.html

Python中使用subplot在一張畫布上顯示多張圖

subplot(arg1, arg2, arg3) arg1: 在垂直方向同時畫幾張圖arg2: 在水平方向同時畫幾張圖arg3: 當前命令修改的是第幾張圖 t np.arange(0,5,0.1) y1 np.sin(2*np.pi*t) y2 np.sin(2*np.pi*t) plt.subplot(211) plt.plot(t,y1,b-.) plt.subplot(212) plt.plot(t,y2,r--) plt.s…

Java 8:從PermGen到元空間

您可能已經知道,現在可以下載JDK 8 Early Access 。 這使Java開發人員可以嘗試Java 8的一些新語言和運行時功能。這些功能之一是完全刪除自Oracle自JDK 7發行以來就宣布的Permanent Generation(PermGen)空間。例如,自JDK 7起&…

oracle symonym_ORACLE SYNONYM詳解

以下內容整理自Oracle 官方文檔一 概念A synonym is an alias for any table, view,materialized view, sequence, procedure, function, package, type, Java classschema object, user-defined object type, or another synonym. Because a synonymis simply an alias, it re…

瀏覽器緩存問題原理以及解決方案

瀏覽器緩存問題: 簡單來說,瀏覽器緩存就是把一個已經請求過的Web資源(如html頁面,圖片,js,數據等)拷貝一份副本儲存在瀏覽器中。緩存會根據進來的請求保存輸出內容的副本。當下一個請求來到的時…

Scikit-Learn機器學習入門

現在最常用的數據分析的編程語言為R和Python。每種語言都有自己的特點,Python因為Scikit-Learn庫贏得了優勢。Scikit-Learn有完整的文檔,并實現很多機器學習算法,而每種算法使用的接口幾乎相同,可以非常快的測試其它學習算法。 Pa…

hdu1542 Atlantis(掃描線+線段樹+離散)矩形相交面積

題目鏈接&#xff1a;點擊打開鏈接 題目描寫敘述&#xff1a;給定一些矩形&#xff0c;求這些矩形的總面積。假設有重疊。僅僅算一次 解題思路&#xff1a;掃描線線段樹離散&#xff08;代碼從上往下掃描&#xff09; 代碼&#xff1a; #include<cstdio> #include <al…

瀏覽器滾動條 --- 自定義“衣裳”

由于種種原因&#xff0c;瀏覽器的默認滾動條“衣裳”實在是 (ˉ▽&#xffe3;&#xff5e;)~~&#xff0c;為了“美”&#xff0c;本人結合萬維網各大神給的經驗和自己的實踐&#xff0c;做了此篇總結。若有錯誤&#xff0c;請在評論里給出&#xff0c;我會及時更改。 我在電…

電腦調分辨率黑屏了怎么辦_調顯示器分辨率黑屏怎么辦

調顯示器分辨率黑屏怎么辦調顯示器分辨率黑屏解決方法&#xff1a;1&#xff0c;開機&#xff0c;當快要進入系統選項時&#xff0c;立即按f8鍵進入“高級模式”&#xff0c;因為系統選項界面顯示的時間非常短&#xff0c;可以提早按f8鍵&#xff0c;否則錯過時機就得重來。2&a…

什么是JNDI,SPI,CCI,LDAP和JCA?

JNDI代表Java命名和目錄接口 。 它是用于提供對目錄服務&#xff08;即帶有對象的服務映射名稱&#xff08;字符串&#xff09;&#xff0c;對遠程對象或簡單數據的引用&#xff09;的訪問的API。 這就是所謂的 約束力 。 綁定集稱為上下文 。 應用程序使用JNDI接口訪問資源。…

android studio gradle 學習,學習Android Studio里的Gradle

一直聽說Gradle很強大&#xff0c;只是偶爾用Android Studio創建Demo的時候看到他一次&#xff0c;今天抽個時間完整記錄一下。1.gradle位置Android Studio項目創建好之后&#xff0c;默認有3個gradle文件&#xff0c;分別位于&#xff1a;/settings.gradle/build.gradle/app/b…

接口耗時打印并統計

1.可以利用Tomcat的access-log日志&#xff0c;讓其打印出http請求的每次耗時。可以在 config/server.xml里Host標簽下配置tomcat訪問日志格式 <Valve className"org.apache.catalina.valves.AccessLogValve" directory"logs" prefix&quo…

js內存

js在定義變量時完成了內存的分配 js具有自動垃圾回收機制&#xff0c;垃圾回收器會每隔固定的一段時間就執行一次釋放操作&#xff0c;即找出那些不再繼續使用的值&#xff0c;釋放其占用的內存 js中最常用的是通過標記清除的算法來找到哪些對象是不再繼續使用的&#xff0c;因…

halcon 圖像差分_Halcon編程-基于紋理的mara檢測

表面瑕疵檢測是機器視覺領域非常重要的一個應用。機器視覺是集光學、機電和計算機三個領域的一門不算新的技術。但目前表面瑕疵檢測在學界主要是計算機專業或者控制專業瞄準圖像處理方向在做&#xff0c;而視覺光學系統這一塊主要是光學工程專業在做。很少有研究者把這三塊都結…

Apache Camel入門

在先前的博文中&#xff0c;我們了解了企業集成模式&#xff08;EIP&#xff09;。 現在&#xff0c;在這篇文章中&#xff0c;我們將研究實現這些模式的Apache Camel框架。 關于駱駝&#xff1a; Apache Camel是一個開放源代碼項目&#xff0c;已有將近5年的歷史&#xff0c;…

css 寫打印樣式問題

&#xff08;1&#xff09;背景顏色打印不出來問題解決方法 background樣式要加上 !important&#xff1b;color樣式要加上 !important&#xff1b;-webkit-print-color-adjust: exact;然后記得瀏覽器打印設置里面要在“打印背景圖形”前面打勾。 -webkit-print-color-adjust:…

android studio smssdk,SMSSDK for Android 配置

1.集成之前先要申請Mob的appkey與appsecret2.在Mob官網下載最新SDK&#xff0c;解壓后會看到以下目錄結構&#xff1a;SMSSDK下存放的是短信SDK的全部內容。3.在android studio中加入SMS的第三方庫AS版本的SMSSDK目錄下包含以下內容&#xff1a;MobCommons.jar&#xff1a;Mob …

linux后臺不掛斷運行 nohup命令

//后臺常在 退出終端仍然運行 nohup python pyredis.py & nohup輸出重定向到my.log nohup command > my.log 2>&1 &轉載于:https://www.cnblogs.com/plxm/p/8136833.html

Ubuntu 16.04安裝微信

微信沒有出Linux的版本&#xff0c;但是可以通過以下方式解決&#xff1a; 1、使用網頁版&#xff0c;除了沒有公眾號之后&#xff0c;一切都沒問題&#xff0c;包括傳文件等。 網頁登錄地址&#xff1a;https://wx.qq.com/ 2、使用第三方版本&#xff0c;只不過這個是桌面應用…

navision系統和sap區別_SAP那些事-實戰篇-89-淺談金稅接口方案

以前金稅接口這塊一直是銷售顧問在做&#xff0c;雖然和財務相關&#xff0c;也沒有怎么關注。這次項目把金稅接口分到了財務模塊&#xff0c;結果遇到了一些問題&#xff0c;趁此機會把這塊總結一下方案&#xff0c;供各位看官參考。方案1&#xff1a; 文本方案&#xff0c;這…