編輯:高級開發
android開發采用了軟件堆層(software stack,又名軟件疊層)的架構,主要分為三部分,下面就對這三個部分做一下自己的見解和看法,希望能夠給大家帶來相關的幫助。
在J2EE中,采用RMI的方式, 可以通過序列化傳遞對象. 在android中, 則采用AIDL的方式. 理論上AIDL可以傳遞Bundle,實際上做起來卻比較麻煩.AIDL(android接口描述語言)是一種借口描述語言; 編譯器可以通過aidl文件生成一段代碼,通過預先定義的接口達到兩個進程內部通信進程的目的。
如果需要在一個Activity中, 訪問另一個Service中的某個對象, 需要先將對象轉化成AIDL可識別的參數(可能是多個參數), 然後使用AIDL來傳遞這些參數, 在消息的接收端, 使用這些參數組裝成自己需要的對象.
AIDL的IPC的機制和COM或CORBA類似, 是基於接口的,但它是輕量級的。它使用代理類在客戶端和實現層間傳遞值. 如果要使用AIDL, 需要完成2件事情: 1. 引入AIDL的相關類.; 2. 調用aidl產生的class.
在android開發中, 每個應用程序都可以有自己的進程. 在寫UI應用的時候, 經常要用到Service. 在不同的進程中, 怎樣傳遞對象呢? 顯然, Java中不允許跨進程內存共享. 因此傳遞對象, 只能把對象拆分成操作系統能理解的簡單形式, 以達到跨界對象訪問的目的。
在J2EE中,采用RMI的方式, 可以通過序列化傳遞對象. 在android開發中, 則采用AIDL的方式. 理論上AIDL可以傳遞Bundle,實際上做起來卻比較麻煩。AIDL(android接口描述語言)是一種借口描述語言; 編譯器可以通過aidl文件生成一段代碼,通過預先定義的接口達到兩個進程內部通信進程的目的。
如果需要在一個Activity中, 訪問另一個Service中的某個對象, 需要先將對象轉化成AIDL可識別的參數(可能是多個參數), 然後使用AIDL來傳遞這些參數, 在消息的接收端, 使用這些參數組裝成自己需要的對象.
AIDL的IPC的機制和COM或CORBA類似, 是基於接口的,但它是輕量級的。它使用代理類在客戶端和實現層間傳遞值. 如果要使用AIDL, 需要完成2件事情: 1. 引入AIDL的相關類.; 2. 調用aidl產生的class。匿名性質的運行時綁定使得理解android如何解析一個隱式Intent到一個特定的應用程序組件變得重要。
和你之前看到的一樣,當使用startActivity時,隱式Intent解析到一個單一的Activity。如果存在多個Activity都有能力在特定的數據上執行給定的動作的話,android會從這些中選擇最好的進行啟動。
android作為谷歌最重要的資本之一,盡管在智能終端上的起步較蘋果晚不少,然而面對強有力的競爭對手,從不停追趕到部分超越,已為其未來戰略目標做好了充分鋪墊。迄今,全球
2010年5月20日在谷歌 I/O 2010大會上,android 2.2 Froyo正式發布。隨後在2010年12月7日夜1點,谷歌正式發布android 2.3 G
android系統獲得了根節點的參數,它就可以直接通過節點來無效化,測距和繪制樹。當你的Activity被激活並且獲得焦點時,開發既有用又有吸引力的移動服務,並推廣這些
ello-jni,hello-jni 為 aPPS 下 hello-jni 文件夾的名稱,這個命令會先找到 aPPS\hello-jni 下地 Application.