Android 的一点总结
? ? ? ?Android的框架從底向上可以分為linux Kernel(linux內(nèi)核層)、系統(tǒng)運行庫層、應(yīng)用框架層和應(yīng)用層。其中系統(tǒng)運行庫層包括C/C++編寫的庫函數(shù)和一個Android 運行時即Dalvik虛擬機,在Dalvik虛擬機上只能執(zhí)行.dex的可執(zhí)行文件,其中Dalvik虛擬機是基于寄存器的,而且一個應(yīng)用,一個虛擬機實例,一個進程。應(yīng)用框架層包含了Google發(fā)布的核心應(yīng)用時所使用的API框架,開發(fā)人員可以使用這些框架來開發(fā)自己的應(yīng)用。而應(yīng)用層則是指開發(fā)人員自己編寫的程序。
????? Android的程序可以有SDK程序和NDK程序吧!或者可以分為前臺程序、后臺服務(wù)和widget組件,具體我也不知道怎么分。所謂的NDK程序就是利用ndk-build在Android程序中引用由C/C++代碼編寫的庫函數(shù)。
????? Android的四大組件指的是Activity、Service、Broadcast Receiver、Content Provider。Broadcast Receiver可以接收一種或若干種Intent作為觸發(fā)事件,當(dāng)發(fā)生這樣事件的時候,系統(tǒng)會負(fù)責(zé)喚醒或傳遞消息到該Broadcast Receiver,任其處置。比如,監(jiān)聽來電、郵件、短信之類的,都隸屬于這種模式。其模式可以歸結(jié)為:啟動應(yīng)用 -> 監(jiān)聽事件 -> 發(fā)生時進行處理。Content Provider屏蔽了內(nèi)部數(shù)據(jù)的存儲細(xì)節(jié),向外提供了上述統(tǒng)一的接口模型,這樣的抽象層次,大大簡化了上層應(yīng)用的書寫,也對數(shù)據(jù)的整合提供了更方便的途徑。
? ? ? AIDL (Android Interface Definition Language) ,一種接口定義的語言,服務(wù)的RPC接口,可以用AIDL來描述。為了使其他的應(yīng)用程序也可以訪問本應(yīng)用程序提供的服務(wù),Android系統(tǒng)采用了遠(yuǎn)程過程調(diào)用(Remote Procedure Call,RPC)方式來實現(xiàn)。與很多其他的基于RPC的解決方案一樣,Android使用一種接口定義語言(Interface Definition Language,IDL)來公開服務(wù)的接口。我們知道4個Android應(yīng)用程序組件中的3個(Activity、Broadcast和Content Provider)都可以進行跨進程訪問,另外一個Android應(yīng)用程序組件Service同樣可以。因此,可以將這種可以跨進程訪問的服務(wù)稱為AIDL(Android Interface Definition Language)服務(wù)。
Android SDK提供的菜單有如下幾種:
???? 1. 選項菜單:最常規(guī)的菜單,android中把它叫做option menu
???? 2. 子菜單:android中點擊子菜單將彈出懸浮窗口顯示子菜單項。子菜單不支持嵌套,即子菜單中不能再包括其他子菜單。
???? 3. 上下文菜單:android中長按視圖控件后出現(xiàn)的菜單,windows點擊右鍵彈出的菜單即上下文菜單
???? 4. 圖標(biāo)菜單:這個比較簡單,就是帶icon的菜單項,需要注意的是子菜單項、上下文菜單項、擴展菜單項均無法顯示圖標(biāo)。
???? 5. 選擇菜單(alternative menu):用的比較少,以后單獨介紹,本文先跳過(其實是我還沒弄明白啦o(≧v≦)o~~)
???? 6. 擴展菜單:選項菜單最多只能顯示6個菜單項,超過6個時,第6個菜單項會被系統(tǒng)替換為一個叫“更多”的子菜單,原來顯示不下的菜單項都作為“更多”菜單的子菜單項。
PS:發(fā)現(xiàn)總是考完試的時候才真正認(rèn)識到自己學(xué)的有多么水……
轉(zhuǎn)載于:https://www.cnblogs.com/CloudFish/archive/2012/04/15/2450949.html
總結(jié)
以上是生活随笔為你收集整理的Android 的一点总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分享一种中小企业的文件服务器方案
- 下一篇: shell:判断一个进程是否存在