在Android的應用程序開發中,通常使用的是JAVA語言,除了需要熟悉JAVA語言的基礎知識之外,還需要瞭解Android提供的擴展的JAVA功能。
在一般的JAVA應用中,如果需用引用基礎類庫,通常需要使用如下的方式:
import javax.swing.*;
以上代碼表示了引用JAVA的GUI組件Swing,javax.swing即JAVA中的一個包。
android提供一些擴展的JAVA類庫,類庫分為若干個包,每個包中包含若干個類。例如:在Android中計算器是一個相對簡單的程序,其入口程序文件為Calculator.java,該文件包含了以下內容:
huenlil 發表在 痞客邦 留言(0) 人氣()
Google提供的Android包含了原始Android的目標機代碼,主機編譯工具、仿真環境,代碼包經過解壓縮後,第一級別的目錄和文件如下所示:
.
|-- Makefile (全局的Makefile)
|-- bionic (Bionic含義為仿生,這裡面是一些基礎的庫的源代碼)
|-- bootloader (引導加載器)
huenlil 發表在 痞客邦 留言(0) 人氣()
來源:Android編譯完成後的代碼結構
Android編譯完成後,將在根目錄中生成一個out文件夾,所有生成的內容均放置在這個文件夾中。out文件夾如下所示:
out/
huenlil 發表在 痞客邦 留言(1) 人氣()
- Support 更高解析度:
Android1.5 只支援QVGA(320*240)和HVGA(480*320),對於智慧手機來說或許已經足夠,但是對與Netbook或者MID來說顯然不夠。AndroidDonut 中將支持的WVGA(800*480),會使得網頁瀏覽等App有更好的用戶體驗,當然代價就是需要更強的CPU/GPU。
- 更適合手機操作的UI
- Search功能
和Palm Pre/webOS的搜索功能類似,當用戶輸入關鍵字時,將同時搜索整個手機和互聯網。比如我以「William」為關鍵字搜索,那麼包含William 這個關鍵字的聯繫人,日曆中邀請了William的預約,甚至SD卡上 保存的William Galas(阿森納後衛)的圖片,當然還包括互聯網上的搜索結果。Android Search甚至能夠學習用戶的習慣,並在搜索結果中體現出來。
huenlil 發表在 痞客邦 留言(0) 人氣()
版權聲明:轉載時請以超鏈接形式標明文章原始出處和作者信息及本聲明
http://aleung.blogbus.com/logs/20685204.html
在今年初推出的
Google Map for Mobile新版本中提供了稱為My Location的功能,不需要GPS的支持,也能在地圖上顯示出當前手機所在的位置。這個功能著實讓人眼前一亮。雖然移動網絡本身就可以提供定位的能力,但是Google的My Location並不依賴於移動網絡定位能力,完全繞開了運營商的控制。
huenlil 發表在 痞客邦 留言(2) 人氣()
Android kernel 啟動後會執行Init初始化,代碼在 system/core/init 中。
huenlil 發表在 痞客邦 留言(0) 人氣()
本篇目的在儘量不觸及技術細節的情況下簡介 Android 架構,並探討其設計的特殊處,以及在版權上的意義。主要資料來源為 Anatomy & Physiology of an Android,有興趣深入研究的讀者可參考。
首先來一張現在大概已經很有名的圖片:
由下到上,可以看到紅色的 kernel 層,綠色的系統函式庫,黃色的虛擬機器,以及藍色的 Java 程式碼。以下將一一介紹。
huenlil 發表在 痞客邦 留言(0) 人氣()
來源: 認識軟硬整合設計樣式
相關:olv: 一千零一夜之 Android Binder
認識軟硬整合設計樣式
---- 以Android的Binder機製為例
huenlil 發表在 痞客邦 留言(0) 人氣()
來源: 上課講義摘錄之23:JNI與Android VM之關係--Android大舞台 文章講義分享 --Google Android 論壇
1. 從如何載入*.so檔案談起
由於Android的應用層級類別都是以Java撰寫的,這些Java類別轉譯為Dex型式的Bytecode之後,必須仰賴Dalvik虛擬機器(VM: Virtual Machine)來執行之。VM在Android平台裡,扮演很重要的角色。
此外,在執行Java類別的過程中,如果Java類別需要與C組件溝通時,VM就會去載入C組件,然後讓Java的函數順利地呼叫到C組件的函數。此時,VM扮演著橋樑的角色,讓Java與C組件能透過標準的JNI介面而相互溝通。
huenlil 發表在 痞客邦 留言(0) 人氣()
來源: Android AIDL接口定義語言
Android進程之間如何通訊呢? 在Windows系統中存在IPC管道服務、MailSolt郵槽、消息等方法,在Android平台上提供了一種中間層語言 AIDL Android接口定義語言(Android Interface Definition Language)。
實現IPC服務通過使用AIDL步驟主要有:
huenlil 發表在 痞客邦 留言(1) 人氣()
來源:Android JNI實例
Android 的SDK中沒有包括JNI的支持,而且對如何支持JNI也沒有任何文檔說明。不過既然整個Android 平台是開源的,我們可以通過Google發佈的源代碼來找到一些線索(比如frameworks/base/media/jni/目錄),依葫蘆畫瓢的實現上層JAVA程序通過JNI來呼叫Native C程序中的函數。
huenlil 發表在 痞客邦 留言(9) 人氣()
Android 1.5 Early Look SDK | Android Developers
Emulator for 1.5 SDK
1.5 的EMU 架構大改,要使用1.5的EMU參考說明:
huenlil 發表在 痞客邦 留言(0) 人氣()
HTC Magic 韌體 for G1 v5.0.1 | @Android - 智慧型手機 Android G1 中文TW社群支援站:
http://android.cool3c.com/article/7322
HTC Magic 韌體 for G1 | @Android - 智慧型手機 Android G1 中文TW社群支援站:
http://android.cool3c.com/article/7101
huenlil 發表在 痞客邦 留言(0) 人氣()
來源:ysl 的程式天堂: Android 內部的祕密 - 系統目錄
Elay: 節錄各目錄介紹
Android 需要的 3個 img 說明如下:
huenlil 發表在 痞客邦 留言(0) 人氣()