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