Android應用程式元件的啟動方式
- Activity,通過傳遞一個Intent物件給startActivity()或者startActivityForResult()啟動,該Intent物件帶有“動作”和該動作作用到的“資料”。
- Service,同樣需要一個帶有“動作”和“資料”的Intent物件,啟動用startService(),繫結用bindService()。
- Broadcast receiver,也需要一個Intent物件,但該物件只需帶有廣播的宣告即可,可以用sendBroadcast()、sendOrderedBroadcast()、sendStickyBroadcast()。
- Content provider,不需要Intent物件,出於安全性的考慮,應用程式只能通過一個ContentResolver物件來訪問Content provider提供的資料,該ContentResolver物件就是應用程式訪問Content provider的資料的一個代理,有點像網路程式設計裡的Socket物件,應用程式向該代理髮出請求(即呼叫該物件裡的方法,如query()),該代理通過與Content provider互動後將結果返回給應用程式。
相關推薦
Android應用程式元件的啟動方式
Activity,通過傳遞一個Intent物件給startActivity()或者startActivityForResult()啟動,該Intent物件帶有“動作”和該動作作用到的“資料”。Service,同樣需要一個帶有“動作”和“資料”的Intent物件,啟動用startService(),繫結用bin
Android應用程式內部啟動Activity過程 startActivity 的原始碼分析
上文介紹了Android應用程式的啟動過程,即應用程式預設Activity的啟動過程,一般來說,這種預設Activity是在新的程序和任務中啟動的;本文將繼續分析在應用程式內部啟動非預設Activity的過程的原始碼,這種非預設Activity一般是在原來的程序
Android應用程式元件Content Provider在應用程式之間共享資料的原理分析
在Android系統中,不同的應用程式是不能直接讀寫對方的資料檔案的,如果它們想共享資料的話,只能通過Content Provider元件來實現。那麼,Content Provider元件又是如何突破應用程式邊界許可權控制來實現在不同的應用程式之間共享資料的呢?
Android應用程式程序啟動過程(前篇)
前言 在此前我講過Android系統的啟動流程,系統啟動後,我們就比較關心應用程式是如何啟動的,這一篇我們來一起學習Android7.0 應用程式程序啟動過程,需要注意的是“應用程式程序啟動過程”,而不是應用程式啟動過程。關於應用程式啟動過程,我會在後
Android應用程式的啟動過程
前言 在Android系統中,Activity和Service是應用程式的核心元件,它們以鬆藕合的方式組合在一起構成了一個完整的應用程式,這得益於應用程式框架層提供了一套完整的機制來協助應用程式啟動這些Activity和Service,以及提供Binder機制幫
Android應用程式程序啟動過程(後篇)
前言 在前篇中我們講到了Android應用程式程序啟動過程,這一篇我們來講遺留的知識點:在應用程式程序建立過程中會啟動Binder執行緒池以及在應用程式程序啟動後會建立訊息迴圈。 1.Binder執行緒池啟動過程 我們首先來看RuntimeInit
[筆記]Android應用程式程序啟動過程的理解
疑問: 1.Process.fork是啥意思?類似new嗎? 2.接著1問,新APP程序和ActivityThread類是怎麼關聯起來的?是zygote程序呼叫執行的ActivityThread類的main方法,怎麼就執行在了新APP程序中? 3.UI主執行緒是啥時候建
Android應用程式activity啟動流程簡介
無論是通過點選應用程式圖示來啟動Activity,還是通過Activity內部呼叫startActivity介面來啟動新的Activity,都要藉助於應用程式框架層的ActivityManagerService服務程序。Service也是由ActivityManager
android應用程式元件概述
元件是一個Android程式至關重要的構建模組。每一個元件都是系統進入你的應用的不同途徑。但並不是所有的元件都是使用者進入程式的真實入口,其中一些要依賴於其它元件, 但是每一個元件都以自己獨有的形式存在,併發揮特殊的作用;每一個元件都是一個唯一的模組,幫助你實現
Android應用程式元件
Android的一個核心特性就是一個應用程式可作為其他程式中的元素(那些允許這樣的程式提供)。例如,如果你的程式需要用滾動條顯示一些圖片,另一個程式已經開發出了合適的功能,並且可供其他程式使用,你就可以直接呼叫那個程式的功能,而不是自己再開發一個。你的程式不需要包含其他程式
Android應用程式元件介紹
應用程式元件是Android應用程式的基本構建單元。每個元件是系統進入你的應用程式的不同入口點。不是所有的元件對於使用者都是實際上的入口點,有些是互相依賴的,但是每個元件都有特定的作用——每個都是唯一的構建單元,這些構建單元定義你應用程式的全部行為 有四種不同型別的應用程式元件。每種都有不同的用處並且有不
WinCE桌面新增應用程式的快捷方式及自啟動
將可執行程式MyApp.exe放入FAT分割槽Flash中,在桌面建立其快捷方式: (1) 建立KinglyApp.lnk 快捷方式檔案 使用桌面Windows 自帶的記事本建立,儲存時將字尾名改為lnk即可。.lnk 檔案其實是一個文字檔案,它包含用於連結目標的命令列以及命令列的長
Android應用程式啟動詳解(二)從原始碼瞭解App的啟動過程
本文承接《Android應用程式啟動詳解(一)》繼續來學習應用程式的啟動的那些事。上文提到startActivity()方法啟動一個app後經過一翻過程就到了app的入口方法ActivityThread.main()。其實我們在之前的文章中《Android的訊息機制(二)之L
Android應用程式啟動過程原始碼分析(2)
Step 9. ActivityStack.startActivityUncheckedLocked 這個函式定義在frameworks/base/services/java/com/android/server/am/ActivityStack.java檔案中: view plain pu
Android程式入口ActivityThread和Android應用程式啟動流程詳解
大家初學java時候都知道java的程式入口是從main方法進入,那麼Android是基於java編寫的,那Android的程式入口做了哪些操作呢?還有Android的應用程式到底是怎樣啟動的呢?我們一起來看一下. 首先附上ActivityThread.
Android應用程式啟動過程原始碼分析
前文簡要介紹了Android應用程式的Activity的啟動過程。在Android系統中,應用程式是由Activity組成的,因此,應用程式的啟動過程實際上就是應用程式中的預設Activity的啟動過程,本文將詳細分析應用程式框架層的原始碼,瞭解Android
解決啟動Android應用程式時出現白屏或者黑屏的問題
通過設定主題來防止白屏或者黑屏 一般情況下,啟動頁面通常是全屏的,而且會用一張圖片來展示使用者開啟應用程式後第一眼看到的介面。在手機中點選應用程式的圖示到應用程式顯示完MainActivity的檢視這個過程中,通常會用一到兩秒的時間。在預設activity的主
Android應用程式的Activity啟動過程簡要介紹和學習計劃
在Android系統中,Activity和Service是應用程式的核心元件,它們以鬆藕合的方式組合在一起構成了一個完整的應用程式,這得益於應用程式框架層提供了一套完整的機制來協助應用程式啟動這些Activity和Service,以及提供Binder機制幫助它
Android應用程式啟動過程
// --runtime-init, --setuid=, --setgid=, // and --setgroups= must go first argsForZygote.add("--runtime-init"); argsFor
Android 如何監控當前Foreground Activity,如何獲知應用程式的啟動
public class CurrentApplicationPackageRetriever { private final Context context; public CurrentApplicationPackageRetriever(Context context) {