日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android:安卓APP启动过程简介

發布時間:2025/4/5 Android 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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启动过程简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。