Android學習筆記(一
阿新 • • 發佈:2018-12-19
Android:開源的 Linux + Google 的封閉軟體 + 私有的基帶 + 運營商鎖定 = 開放的 Android 手機iPhone:開源的 BSD + 蘋果的閉源軟體 + 私有的基帶 + 運營商鎖定 = 封閉的蘋果 iPhone
Android:正義!一個平庸的應用商店,開發者依靠廣告賺錢,商店並非獨此一家,使用者找不到好軟體。(開發者只需一次性支付25美金)iPhone:邪惡!一個出色的應用商店,開發者憑本事吃飯,商店獨此一家,開店的要收點錢。顧客得到物美價廉的商品。(開發者需每年支付99美金)
Android:自由!酷,每個人都在用。這個公司應該運營一切,而且很快就會實現,除非競爭者阻止他們在每部手機、每臺電視和 PC 上推廣開源而自由的文化。iPhone:奴役! 如此的不酷以至於每個人都在用。他們認為這個公司應該運營一切,除非競爭者阻止他們在開放的市場將手機、電視和電腦推銷給每一個人。
在verycd上面可以下載www.mars-driod.com的一個視訊教程,不錯,推薦一下。
這是一張Google官方給出的著名的圖,Andriod的Architechture。下面有些內容可能不完全理解,不過隨著以後的學習應當會明瞭,先有個大概印象吧。
Applications:不需要解釋,這些使用JAVA語言,據說Andriod也提供了native的API,不知道可否用於建立app。
Application Framework:提供一個開放的開發平臺。開發者可以完全訪問,也是Andriod上層應用開發者所關注的。包括下面的內容:
- View:提供UI,包括lists,grids, text boxes, buttons,包括嵌入web browser
- Content Providers :允許應用從其他應用中獲得資料或者分享他的資料。(這是否就是IPC)
- Resource Manager:提供獲取non-code resources,例如localized strings, graphics, and layout files。
- Activity Manager:管理應用的生命週期並提供一個通用的瀏覽的backstack。
Libraries:Andriod給系統的各個元件提供C/C++庫。上面的application framework,在此庫上建立。
- System C library - 標準的C system library (libc), 這個對於做嵌入系統的交叉編譯工具鏈都是非常熟悉了。
- Media Libraries - 基於PacketVideo's OpenCORE,支援playback和錄音,支援多種音視訊格式和靜態圖形格式,包括MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
- Surface Manager - 提供2D和3D圖形
- LibWebCore - web browser engine
- SGL - the underlying 2D graphics engine
- 3D libraries - 基於OpenGL ES 1.0 APIs; 使用包括硬體3D加速,以及highly optimized 3D software rasterizer
- FreeType - bitmap and vector font rendering (字型渲染)
- SQLite - a powerful and lightweight relational database engine