官术网_书友最值得收藏!

1.3 Android基礎知識

作為一個優秀的開發框架,和其他開發工具一樣,Android有自己的特點和優勢,本節我們就對此進行介紹,讓讀者感受到Android特有的氣質并掌握學好它的方法。

1.3.1 Android豐富的特性

Android是Google公司推出的手機開發平臺。與iPhone相似,Android采用WebKit瀏覽器引擎,具備觸摸屏、高級圖形顯示和上網功能,用戶能夠在手機上查看電子郵件、搜索網址和觀看視頻節目等,比iPhone等其他手機更強調搜索功能,界面更強大,可以說是一種融入全部Web應用的單一平臺。

Android的主要特性如下:

應用框架可以重復使用,其組件也可以更換。

Dalvik虛擬機針對移動設備進行了優化。

優化的圖形能力支持2D、3D圖形(OpenGL ES 1.0)。

集成了基于開源WebKit引擎的瀏覽器。

SQLite作為結構化數據存儲。

多媒體支持多種音頻、視頻格式。

GSM Telephony(hardware dependent)。

支持藍牙、3G和WiFi。

支持照相機、GPS、指南針和加速度儀等傳感器硬件。

豐富的開發環境,包括模擬機、調試工具、內存運行檢測及為Eclipse IDE所寫的插件。

1.3.2 Android組織結構及應用框架

Android采用了軟件堆的架構,主要分為三個部分:操作系統、中間軟件和應用程序。底層以Linux內核為基礎,只提供基本功能。其他的應用軟件則由各公司自行開發,以Java作為編程語言。另外,為了推廣此技術,Google聯合30多家移動公司集資成立了手機開發聯盟組織。

1.Android平臺構成

Android是一個平臺,主要包括Linux微內核、中間件(SQLite等)、關鍵應用(電話本、郵件、短消息、GoogleMap、瀏覽器等)、提供的Java框架及Android中的JVM。

2.Android特點之關鍵類

View視圖類,ContentProviders(應用交互管理類)、ResourceManager(非編碼資源管理類)、NotificationManager(通告管理類)、ActivityManager(生命周期管理類)。

3.Android特點之界面開發

這一塊主要討論了Android的界面開發機制,可以將組件的初始化抽取出來放到配置文件中,組件更新用編碼方式來處理。

4.應用構成

Android的應用一般由四個關鍵部分構成:Activity、IntentReceiver、Service、ContentProvider。

Activity是必要部分,Activity每個應用都必須得有,Activity代表一個應用的具體的界面管理類,其本身并不顯示。

IntentReceiver可使應用對外部事件做出響應。例如,應用正在執行的時候突然有來電,這個時候可使用IntentReceiver做出處理使應用更健壯可靠。

Service Android應用的生命周期是由Android系統來決定的,不由具體應用的線程左右。如果應用要求在沒有界面顯示的情況下也能正常運行(要求有后臺線程,而后臺線程是不會被系統回收的,直到線程結束),這個時候就需要用到Service。所以服務一般都是和線程聯系在一起的。

ContentProvider封裝了很多Android當中的上下文環境,包括SQLite,使得在不同應用之間交互成為可能。

5.Android特點之布局管理

FrameLayout:左上角只顯示一個組件。

LinearLayout:線性布局管理器,分為水平和垂直兩種,只能進行單行布局。

TableLayout:任意行和列的表格布局管理器。其中TableRow代表一行,TableRow的每一個視圖組件代表一個單元格。

AbsoluteLayout:絕對布局管理器,坐標軸的方式,左上角是(0,0)點,往右X坐標遞增,往下Y坐標遞增。

RelativeLayout:相對布局管理器,具有一定的靈活性的視圖組件,它由視圖之間或與上層組件的相對位置來確定下一個組件的位置。

6.Activity交互

Intent其實就是用來在Activity之間做交互用的,需要說明的是,Intent有個意圖說明,值得用戶深究,舉個簡單的例子,有種Intent叫Intent.ACTION_CALL,可直接撥打電話。

7.SharedPreferences

SharedPreferences是Android平臺上一個輕量級的存儲類,主要用于保存一些常用的配置。它類似于過去Windows系統上的ini配置文件,但是它分為多種權限,可以全局共享訪問,最終以XML方式來保存,效率不如Intent,但是由于可以共享,所以可以在Acitivity之間交互。其效率比SQLite要高。

SQLite也就是數據庫,這種方式不推薦使用,因為影響效率,如果是在不同應用之間交互或是在需要永久存儲的情況下,可以考慮SQLite。

8.Android特點之生命周期

理解Android生命周期非常重要,每一個Android應用都是以一個進程的方式運行的,其生命周期不由自身控制,而是由系統根據運行的應用的一些特征來決定的。所以理解好Android生命周期對你的應用什么時候會被系統回收很重要。

理解好生命周期可提高應用的健壯性。例如,應用的初始化應該放到onCreate方法中,應用暫停的時候應重寫onPause方法來保存當前應用的操作結果。

9.SQLite

SQLite是Android中提供的內置數據庫,據說比MySQL更輕巧。SQLite也是開源產品。數據庫的操作方式主要有以下幾種:

SQL語句直接操作,插入、更新、刪除都可以直接寫SQL語句,調用execSQL()就可以。

查詢需要使用rawQuery()來完成,查詢結果返回一個可滾動的結果集。

Cursor在對Cursor操作前,需要將其游標移動到第一位,每取一個結果向下移一位。

學習小貼士

Android實際開發經驗分享:

● 自定義組件的顯示問題。在寫自定義視圖的時候經常要對視圖的X、Y坐標進行調整,以達到預期的理想位置??梢詫⒚總€組件的X、Y坐標值畫到組件旁邊,這樣很直觀,一看就知道該怎樣調整。

● 使用Log來打印日志和進行調試。

● 使用LogCat視圖。在showView中有LogCat視圖,LogCat視圖會顯示一些Android仿真器打印出的堆棧信息,對應用的調試非常有幫助,另外Log打印的日志也在這邊顯示。

● 使用Emulator Control視圖。Emulator Control可以完成一些簡單的設備操作,如模擬來電、短消息。

● 活用tools目錄下的工具。該目錄在Android SDK中都有提供,通過這些工具可以操作Android仿真器,如創建一個虛擬SD卡,將系統中的文件移動到虛擬SD中,Android都提供了相應的工具,相關命令可以上網查閱。

1.3.3 學習Android必備知識

1.Java基礎知識

J2SE:Java基礎類[lang包、IO包、util包(集合框架)、面向對象、多線程、網絡編程]。

2.J2EE知識

如果你想進行Android客戶端應用程序的開發,這部分知識是必備的。顯然,Android客戶端只做數據的請求、展現,所需的數據在服務器端。

技能點:Tomcat(Weblogic)、XML解析、JSON解析、JSP/Servlet;了解SSH。

3.Linux、C語言知識

如果深入研究Android底層,有必要學習一下這一部分的知識,以便于你的后續發展。

主站蜘蛛池模板: 绥宁县| 四子王旗| 静海县| 邛崃市| 昭通市| 仁怀市| 咸宁市| 宣城市| 阿巴嘎旗| 鹿泉市| 靖西县| 澜沧| 海口市| 呼玛县| 平塘县| 榆树市| 都匀市| 巴南区| 襄汾县| 陆河县| 桃园县| 普洱| 保定市| 大石桥市| 会泽县| 方山县| 伊川县| 陕西省| 额敏县| 读书| 辛集市| 滦南县| 汉川市| 邵东县| 衡山县| 孟津县| 永清县| 久治县| 思茅市| 大悟县| 抚松县|