如何學習android

忙了半天編程,其實對整個Android的架構還不瞭解,還是回去細細的看看SDK中的文檔吧。

學習SDK文檔的步驟大概是這樣

因爲看了看Android Blog, 在最新的文章裏面介紹了幾篇文章,其中一篇是<<開發者的眼光來看Android SDK>>,作者在其中分析了的關於DOC的閱讀順序引起了我的興趣,確實,那麼多的文檔,應該怎麼看呢?哪些是必須先弄明白的?哪些應該先知道個大概,今後引用的時候再細細閱讀?現在簡要的介紹一下原作者的觀點,希望能幫上你的忙。

 

1. 首先當然是要知道,什麼是Android?
2. 讀一下Anatomy of an Android Application 能夠知道一個Android application 中到底都有些什麼東西
3. 接着可以讀一下 Development Tools 文檔
4. 然後可以看一下關於什麼週期的文章 Lifecycle of an Android Application
5. 現在可以動手了,玩玩hello world 吧,
Hello Android
6. 回去讀一下
Installing the SDK文檔,再這篇文章的後半部分講了很多關於Debug的功能和技巧
7. 開始Notepad Application 的製作學習吧,如果你真正弄懂了關於這個應用程序的4個練習,你已經從菜鳥開始轉向高手嘍。
8.
Developing Android Applications 花了很多時間來介紹更多的細節,包括如何實現UI,數據存儲和讀取,安全問題等
9. 最後,你現在可以自由的漫步在links中了,找你感興趣的讀讀吧。

 

 

我就先把第一步幫大家翻譯過來吧

什麼是Android ? (What is Android)

Android是一個手機設備軟件棧,包含了一個操作系統、中間件和關鍵的應用程序,早期版本的Android SDK提供了必要的工具和API來幫助開發Android應用程序通過Java語言。( Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.)

特性(Features)

可重用和可替換組件的程序應用框架(Application framework enabling reuse and replacement of components)
針對移動設備優化過的Dalvik虛擬機(Dalvik virtual machine optimized for mobile devices)
集成了基於開源Webkit引擎的網頁瀏覽器(Integrated browser based on the open source WebKit engine)
經過優化過的自定義2D圖形庫和基於OpenGL ES 1.0庫 可選硬件加速(Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional))
SQLite結構化的數據存儲數據庫(SQLite for structured data storage)
支持常規的音頻視頻多媒體格式,如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF(Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF))
GSM電話(硬件決定) (GSM Telephony (hardware dependent))
藍牙、GPRS-EDGE、3G和Wifi無線網絡(硬件決定) (Bluetooth, EDGE, 3G, and WiFi (hardware dependent))
相機、GPS全球定位、導航和感應加速器(Camera, GPS, compass, and accelerometer (hardware dependent))
豐富的開發環境包含設備模擬器、工具、調試器、內存和性能分析工具,以及Eclipse集成開發環境插件(Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE)

Android構架(Android Architecture)

下面的圖表顯示了主要的Android操作系統組件,每部分的詳細描述在下方有詳細的介紹(The following diagram shows the major components of the Android operating system. Each section is described in more detail below.)

android構架

應用程序(Applications)

Android將啓用一套核心應用程序包含Email電子郵件客戶端、SMS短信程序、日曆、電子地圖、網頁瀏覽器、聯繫人和其他相關常規程序,所有的程序寫於Java語言(Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.)

程序框架(Application Framework)

開發者可以完全訪問統一API框架通過核心程序,這個程序框架設計可以很簡單實現組件複用;任何程序都可以提供他自己的功能到其他程序可以利用這些功能(所執行的組件手框架安全性限制前提下) ,同樣允許組件被用戶替換,Android開發網 友情提示OpenIntents項目就是一個典型的例子,通過androidmanifest.xml文件。(Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.)

下面所有的應用程序是一套完整的系統和服務(Underlying all applications is a set of services and systems, including )

   通過使用豐富而可擴展的Views類來構造程序的用戶界面,包含lists列表框、 grids表格、 text boxes文本框、 buttons按鈕和瀏覽器嵌入控件(A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser)

內容提供允許你的程序訪問數據從其他的程序如聯繫人或分享你自己的數據(Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data)

資源管理器提供了無需代碼訪問資源技術,如本地化的字符串、圖片以及佈局文件等.(A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files)

提醒管理器允許所有的應用程序顯示自定義的鬧鈴提醒在狀態條上(A Notification Manager that enables all applications to display custom alerts in the status bar)

窗口活動管理器可以管理消息生命週期和常規的導航恢復棧,Android開放網提醒如Intent(An Activity Manager that manages the life cycle of applications and provides a common navigation backstack)

類庫(Libraries)

Android包含了一套C/C++庫被用於多種組件,這些功能以Dalvik API接口形式提供給開發者通過Android程序框架,下面列出了核心類庫(Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below:)

系統C語言庫 一個由BSD實現的標準C語言系統庫,移植到Linux嵌入式設備上(System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices)
媒體庫 基於PacketVideo的OpenCORE庫,這個庫支持錄製和回放一些常見的影音格式,同時也支持靜態圖片包含MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG (Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG)
外觀管理器 管理訪問顯示子系統和無縫合成2D、3D圖形層從多個應用程序上。(Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications)
一個現代網頁瀏覽引擎,提供Android瀏覽器嵌入到Web View類的支持(LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view)
基於SGL的基本2D圖形引擎(SGL - the underlying 2D graphics engine)
3D圖形庫 一個基於OpenGL ES 1.0 API實現的3D類庫,提供了硬件加速和高度優化的3D軟件光柵(libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer)
FreeType一個位圖和矢量子圖渲染器(FreeType - bitmap and vector font rendering)
SQLite一個強有力的輕量級關係數據庫引擎提供給所有程序(SQLite - a powerful and lightweight relational database engine available to all applications)

Android運行時庫(Android Runtime)

Android包含了一整套核心組件庫提供了大多數的功能並以Java編程語言接口開放(Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.)

每個Android程序運行在自己的進程上,同時有它們自己的實例在Dalvik虛擬機上,Dalvik虛擬機可以運行,Dalvik虛擬機執行文件Dalvik Executable .dex格式提供了內存優化.(Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.)

Dalvik虛擬機依賴底層Linux內核函數如現成了底層內存管理(The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.)

Linux內核(Linux Kernel)

Android依靠Linux 2.6核心系統服務,如安全、內存管理、進程管理、網絡棧和驅動模型,內核也可以做抽象層在軟件棧和硬件之間(Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack)


轉自:http://hi.baidu.com/sdsxwangwei/blog/item/d66beb567413e452d10906d6.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章