Android:安卓APP启动过程简介
你打開一個安卓系統
它的界面是Launcher 進程,它不斷的檢測用戶的觸摸落在哪個APP上面,如果你的觸摸落在空白它不做處理,你要滑動他就給你滑動
?當用戶觸摸這個app的時候,
?
?他會進行下面的流程
?Laucher 檢測用戶觸摸到APP以后,整個軟件,整個工程最應該被加載的文件是
AndroidManifest.xml
首先他會判斷你的SDK版本,你的目標機器是否能承載的了安卓APP,有的時候承載不了,安裝都安裝不上,有的時候能裝上不能運行
?再來就是獲取你要的權限
點擊Add...
?選擇Uses Permission
?
在這里給他加一個網絡訪問權限?
name 下找
?
?網絡訪問權限
?
?然后你發現這面多了一句話
他會為你這個APP開放網絡訪問的端口,也就是你啟動之前就幫你做好了?
?比如一個APP有好幾個界面,先啟動哪個呢?大家都是activity
?這個時候有一組
?<intent-filter>
? ? ? ? ? ? ? ? <action android:name="android.intent.action.MAIN" />
? ? ? ? ? ? ? ? <category android:name="android.intent.category.LAUNCHER" />
? ? ? ? ? ? </intent-filter>
這樣的標簽,放在這里就代表main? activity
MainActivity 繼承于 Activity(頁面)?
我們自己做的類繼承于MainActivity,那他還是一個頁面
onCreate? 代表頁面被創建
?也就是說通過Mainfest確認
?這個程序會被加載
?作為一個路口onCreate會被操作系統自動的拿來執行
也就是說,這個onCreate,有點像我們以前學的Java中的main函數
?那么,super.onCreate(savedInstanceState);
? ? ? ? setContentView(R.layout.activity_main);
這干什么的呢?
他會調用父親的Activity,去組建,去構建一個空白的頁面出來
(沒有Hello? world就是一個空白的頁面)
空白的頁面對用戶來說就是空白,對操作系統來說,他卻要做很多很多的初始化
?setContentView就是把R.layout.activity_main 和布局文件關聯起來?
這下面存放了,頁面,控件,按鈕,比如文本框都在這面創建一個id?
?那么如何讓這個.java
跟這個.xml關聯起來?
?
?那肯定需要這個id啦
R.java里面肯定是有一個Layout,0x7f030000
通過id 的方式讓.java文件和.xml文件產生一個關聯
?比如我們現在要做一個代碼的修改
第15行的hello? world 改成“冰糖李子”
?
給他改進去?
你改進去以后,他是一個單獨的布局
?那為什么我們操作系統APP運行起來能看到這句話呢?
那是因為我的.java代碼會調用setContentView,把你做的獨立的布局跟空白的頁面關聯,
運行一下
?
?于是,我們就在程序運行的時候看到了“冰糖李子”?
?當我觸摸的時候,運行Launcher
?點擊APP的時候,第一個被加載的是Mainfest
他看到
<intent-filter>
? ? ? ? ? ? ? ? <action android:name="android.intent.action.MAIN" />
? ? ? ? ? ? ? ? <category android:name="android.intent.category.LAUNCHER" />
? ? ? ? ? ? </intent-filter>
?于是它的onCreate 會被調用
?然后會去做一些控件.xml
以及跟這個頁面的綁定作用
如果我現在創建另外一個頁面
?我創建一個Andriod? Activity
?創建一個Blank? Activity
?命名Other Activity?
?你會看見多出一個java
?包括res? ?的? ? ?layout? ?多了一個activity_other.xml
????????????????
包括在這面多了一個other??
?如果我把
?<intent-filter>
? ? ? ? ? ? ? ? <action android:name="android.intent.action.MAIN" />
? ? ? ? ? ? ? ? <category android:name="android.intent.category.LAUNCHER" />
? ? ? ? ? ? </intent-filter>
刪除掉放在下面other 這面
你會看到等會先啟動的other 這個頁面
?
那么other 這面有什么東西呢?
?我們 把hello world 改成"其他頁面"
?運行一下
? ? 總結:你按下安卓APP的時候,
它第一個運行的是? ? AndroidManifest.xml,他會給你分配權限,同時看一下這些頁面哪一個作為手動啟動的頁面,
當你手動啟動頁面被加載以后,他會找到?onCreate這個路口,然后他會關聯空白頁面跟哪個布局頁面進行關聯,????????super.onCreate(savedInstanceState);
?? ??????????????????????????? ?setContentView(R.layout.activity_other);
會去顯示你布局頁面關聯里面的一些數據
總結
以上是生活随笔為你收集整理的Android:安卓APP启动过程简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 支付宝财运金怎么提现
- 下一篇: 多栏式账簿常用于