Android studio的Activity详解
Activity就相當(dāng)于我們的手機(jī)界面,里面包含著各個組件
運(yùn)行狀態(tài):屏幕可視,且可以進(jìn)行操作
暫停狀態(tài):返回退出的時(shí)候,詢問是否退出運(yùn)行狀態(tài),此時(shí)屬于暫停狀態(tài)
---------------------------------------------------------------------------------------------------(運(yùn)行和暫停狀態(tài)時(shí)可進(jìn)行對應(yīng)操作)
停止?fàn)顟B(tài):當(dāng)點(diǎn)擊確認(rèn)退出該程序時(shí),此時(shí)屬于停止?fàn)顟B(tài)
銷毀狀態(tài):當(dāng)在任務(wù)管理器中強(qiáng)制停止程序運(yùn)行,此時(shí)屬于銷毀狀態(tài)
----------------------------------------------------------------------------------------------------(停止和銷毀狀態(tài)是不可見的)
?
創(chuàng)建、啟動和關(guān)閉Activity
但是是不是創(chuàng)建好Activity后就可以直接運(yùn)行了呢?
直接運(yùn)行會報(bào)錯:
錯誤提示,我們是否在配置文件中已經(jīng)注冊了要運(yùn)行的Activity
配置AndroidManifest.xml
啟動和關(guān)閉Activity
即使創(chuàng)建成功后,沒有啟動的話,在屏幕上也不會顯示任何頁面
啟動分為兩種情況
一種是直接找到入口,通過AndroidManifest.xml指定
?
另外一種是在主界面通過按鈕然后指定跳轉(zhuǎn)到某個界面,Tntent最常使用的就是它的跳轉(zhuǎn)Activity和在Activity之間傳值的功能
?
?關(guān)閉Activity
形參理解為入口參數(shù),返回值理解為出口參數(shù)
很簡單,只要再Activity中指定點(diǎn)擊關(guān)閉按鈕觸發(fā)finish()方法就行,就會返回上一個調(diào)用它的Activity的界面,否則就回到主屏幕中
實(shí)例:
小技巧:怎么刷新當(dāng)前的Activity呢?
調(diào)用onCreate(null)方法啦
?使用Bundle在Activity之間交換數(shù)據(jù)
Intent可以在兩個Activity之間承擔(dān)橋梁,但是橋梁是橋梁,橋梁上面跑的是大貨車去運(yùn)送數(shù)據(jù),這個數(shù)據(jù)就是存放在Bundle中
什么是Bundle,可以把一些數(shù)據(jù)以鍵值對的形式保存到Bundle中,讀取的時(shí)候通過Key找到Value
如何把Bundle保存的數(shù)據(jù)提交給另外一個Activity
順序如下:把數(shù)據(jù)通過Bundle保存,然后調(diào)用putExtras()方法給到Intent
示例:
.show();
?
?
調(diào)用另一個Activity并返回結(jié)果
使用的方法不是startActivity(),而是
前面的參數(shù)是寫指定的想要被啟動的界面,后面的參數(shù)是一個請求碼,用請求碼來啟動Activity
?
?
Fragment的生命周期
是安卓3.0中新增加的概念,中文意思是碎片,和Activity很相似
可以在多個Activity中重用Fragment,也可以使用多個Fragment在一個單獨(dú)的Activity中建立多個UI面板
相當(dāng)于單個界面之間來回切換,Fragment是一個更小的概念
一個Fragment必須被嵌入到Activity中,且直接受到所在的Activity的生命周期影響
如何創(chuàng)建Fragment,需要繼承自己的父類
?
還要弄懂一個概念,什么是inflater
在實(shí)際開發(fā)中LayoutInflater這個類還是非常有用的,它的作用類似于findViewById()。不同點(diǎn)是LayoutInflater是用來找res/layout/下的xml布局文件,并且實(shí)例化;而findViewById()是找xml布局文件下的具體widget控件(如Button、TextView等)。 具體作用: 1、對于一個沒有被載入或者想要動態(tài)載入的界面,都需要使用LayoutInflater.inflate()來載入;
2、對于一個已經(jīng)載入的界面,就可以使用Activiyt.findViewById()方法來獲得其中的界面元素。
LayoutInflater 是一個抽象類,在文檔中如下聲明:
publicabstractclass?LayoutInflater?extends?Object?
?
?
?
?
haihuibucon?
?
總結(jié)
以上是生活随笔為你收集整理的Android studio的Activity详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA入门级教学之(continue)
- 下一篇: JAVAWEB入门之Sevlet的执行原