Android套用開發精解

Android套用開發精解

《Android套用開發精解》是2012年北京航空航天大學出版社出版的圖書,作者是高磊、楊誠、元凱。

基本介紹

  • 中文名:Android套用開發精解
  • 作者:高磊 楊誠 元凱 
  • 出版時間:2012-9 
  • 出版社:北京航空航天大學出版社
  • ISBN:978-7-5124-0918-7
  • 定價:39 元
  • 開本:710×1000 1/16
圖書簡介,圖書前言,圖書目錄,

圖書簡介

本書在對各種技術闡述的過程中,並不是僅僅簡單地把相關知識點講完就結束
了,而是在各知識點後面分享了大量項目實踐的經驗。這些都是作者在項目過程中思考的成果,是多年從事軟體開發工作的技術沉澱,是項目實踐過程中的精華。
Android套用開發精解
封底
本書適合有一定Java基礎並且想要自學Android開發的編程愛好者、想要轉行從事Android領域開發的程式設計師,以及正在從事Android的初學者閱讀
本書以Android套用開發所需要的技術為線索,先後講解了SDK一些工具的使用、UI開發、Service開發、數據存儲、圖形動畫、網路開發、硬體操作、結合Web開發以及如何對套用進行最佳化等。本書並沒有從基礎的Eclipse安裝、Hello World等講起,而是以Android套用開發過程中常用的技術作為主線去講解,很多內容需要讀者有一定的開發經驗才能夠很好地理解。

圖書前言

如今的Android市場異常火爆,Android手機已經占據智慧型手機作業系統的半壁江山了。市場的火爆也帶動了Android軟體的發展,越來越多的開發者開始學習Android開發,開始湧入到Android開發的各個領域,這其中有一些軟體開發經驗豐富的開發者,也有一些剛剛畢業或者還在學校中的學生。然而,總的來說,大部分開發者在Android平台上的開發時間都不算很多,開發經驗不足,需要不斷在實際項目中學習和沉澱。
如果您也想學習Android開發,或者正在學習Android開發,您一定對下面的問題最關心:Android開發到底難不難?這個問題沒有標準的答案,筆者的理解,可以說簡單,也可以說難。
為什麼說簡單?這是因為Android開發主要使用Java語言,對於有Java基礎的開發者入門很容易;即使原來沒有基礎,Java語言學習起來相對也容易些。還有Android的開發成本相對較低,只要有一台PC機就可以用模擬器學習開發了。
為什麼說難?這是因為Android市場的複雜性。一個是Android SDK的版本兼容問題。由於市場上Android設備的SDK版本各不相同,開發軟體時就不得不考慮不同SDK版本的兼容問題。一個是硬體兼容問題。Android設備的硬體支持五花八門,包括CPU、記憶體、螢幕解析度、是否支持某些硬體特性等,開發軟體時就不得不考慮市場上已有的各種Android硬體設備的兼容性問題。一個就是定製ROM的問題。Android是開源的,設備廠商可以修改Android的代碼並且定製在自己的設備中,從而導致了大多數Android設備都使用了定製過的ROM,這就需要開發者花更多的時間和力氣來解決定製ROM的各種問題。還有一個就是Android在國內的開發資料相對較少,很多時候需要去國外網站,或者直接閱讀Android的原始碼來解決某些問題,這就增加了學習Android的難度。
總體來說,開發一個Android套用並不難,開發出一個優秀的能夠經受住市場考驗的Android套用卻並不容易,需要開發者有豐富的Android開發經驗。無論您是想從頭開始學習Android套用開發,還是想學習積累經驗,本書都是適合的。
本書特點
現在市場上的Android書籍,要么以講解知識點為主,點到為止;要么是以某虛擬項目為主,介紹項目的同時附上大量的原始碼,很少會把項目過程中積累的實際經驗寫進去。本書最大的特點就是除了講解Android套用開發的各知識點以外,還分享了大量的實際經驗;這些經驗一般都無法從現有的書籍或者網路上獲得,這些都是在項目過程中思考的成果,是多年從事軟體開發工作的技術沉澱。
本書作者
本書的第1~4章由元凱編寫,第5~9章由楊誠編寫,第10~12章由高磊編寫,全書由高磊審閱。由於本書涉及知識較多,而作者水平有限,很難全部精通,難免有疏漏之處,如果讀者朋友發現錯誤,請批評指正,非常感謝。
鳴謝
最後在此感謝現在和曾經一起日夜奮戰的兄弟姐妹們,感謝出版社的各位同仁,也感謝家人默默的理解和支持。特別的,感謝劉雪蓮、禪延玲、李潔,謝謝你們。

圖書目錄

第1章工欲善其事 必先利其器—Android SDK工具1
1.1巧婦難為無米之炊—Android SDK的安裝1
1.2設備管理工具—調試橋(ADB)3
1.2.1ADB簡介3
1.2.2ADB常用命令4
1.3沒有真機一樣開發—Android模擬器7
1.4Android調試—調試工具DDMS9
1.5UI布局分析工具—視圖工具(Hierarchy Viewer)14
1.6Log列印—Log輸出工具logcat17
1.6.1啟動logcat17
1.6.2過濾日誌輸出17
1.6.3控制日誌輸出格式18
1.6.4查看可用日誌緩衝區19
1.7圖片拉伸不失真—九宮格繪製工具Draw 9Patch20
1.7.1什麼是“點九”檔案20
1.7.2點九檔案的製作20
第2章吸引你的眼球—UI編程24
2.1UI基礎—常用UI組件24
2.1.1文本顯示—文本框(TextView)24
2.1.2按鈕(Button)27
2.1.3文本編輯—編輯框(EditText)29
2.1.4圖片顯示—圖片視圖(ImageView)32
2.1.5多項選擇—多選框(CheckBox)和單項選擇—單選框
(RadioBox)34
2.1.6圖片拖動—拖動效果(Gallery)38
2.1.7列表組件(ListView)41
2.2彰顯你的個性—自定義UI組件48
2.3簡單明了的訊息提示框(Toast)和對話框(Dialog)51
2.3.1Toast提示51
2.3.2Dialog提示52
2.4Menu鍵的呼喚—Menu選單56
第3章界面UI的基石—UI布局61
3.1用戶界面的基本單元—View視圖61
3.2百花齊放—各種Layout布局64
3.2.1Layout布局的簡單介紹64
3.2.2線性布局(LinearLayout)64
3.2.3相對布局(RelativeLayout)67
3.2.4框架布局(FrameLayout)70
3.2.5表單布局(TableLayout)72
3.2.6絕對布局(AbsoluteLayout)74
3.3樣式(Style)和主題(Theme)的使用76
3.3.1樣式(Style)的使用76
3.3.2主題(Theme)的使用77
Android套用開發精解
第4章Android開發三大基石—Activity、Service和Handler79
4.1應用程式的接口—Activity視窗79
4.1.1Activity生命周期79
4.1.2Activity棧81
4.1.3Activity的創建81
4.1.4Activity的4種載入模式82
4.1.5Activity互動—Activity跳轉83
4.1.6Activity中數據傳遞86
4.2千變萬化的服務-Service開發87
4.2.1Service的生命周期87
4.2.2Service的啟動和停止88
4.2.3我的服務我來用—本地服務開發89
4.2.4開機自啟動的服務93
4.3Android執行緒間的通信—訊息機制95
4.3.1訊息的傳遞—Handler的使用95
4.3.2Android中訊息機制的詳細分析97
第5章以數據為中心—數據存取100
5.1檔案操作100
5.1.1讀寫一般的文本檔案100
5.1.2結構性的檔案—讀寫XML檔案103
5.1.3自由操作,隨心所欲—序列化和反序列化113
5.2通用的數據操作方式—資料庫116
5.2.1SQLite資料庫介紹116
5.2.2創建並打開資料庫116
5.2.3添加、刪除和修改操作117
5.2.4游標的操作—使用Cursor120
5.3安全方便簡單—使用SharedPreferences121
5.4我的數據大家用—ContentProvider、ContentResolver123
第6章一張白紙好作畫—Canvas畫布126
6.1Canvas畫布簡介126
6.1.1View Canvas—使用普通View的Canvas畫圖126
6.1.2Bitmap Canvas—使用普通Bitmap的Canvas畫圖128
6.1.3SurfaceView Canvas—使用SurfaceView的Canvas畫圖128
6.2Canvas常用繪製方法131
6.3對Canvas進行變換133
6.4Canvas繪製的輔助類134
6.4.1畫筆android.graphics.Paint134
6.4.2字型android.graphics.Typeface135
6.4.3顏色android.graphics.Color136
6.4.4路徑android.graphics.Path137
6.4.5路徑的高級效果android.graphics.PathEffect139
6.4.6點類android.graphics.Point和android.graphics.PointF141
6.4.7形狀類android.graphics.Rect和android.graphics.RectF142
6.4.8區域android.graphics.Region與Region.Op144
6.4.9千姿百態,矩陣變換android.graphics.Matrix145
第7章實現炫酷效果—圖像和動畫149
7.1Android的幾種常用圖像類型149
7.2圖片的基礎—Bitmap(點陣圖)150
7.2.1如何獲取點陣圖資源150
7.2.2如果獲取點陣圖的信息151
7.2.3點陣圖的顯示與變換152
7.3變化多端—Drawable(繪圖類)154
7.3.1Drawable的一些常用子類154
7.3.2BitmapDrawable154
7.3.3點九圖片—NinePatchDrawable155
7.3.4會動的圖片—StateListDrawable156
7.3.5顏色填充的另一種方法—PaintDrawable157
7.3.6超炫的特效—ShapeDrawable157
7.3.7簡單的幀動畫—AnimationDrawable165
7.4輕量級圖片—Picture167
7.5Drawable、Bitmap、byte之間的轉換167
7.6Android提供的幾種動畫效果(Animation)168
7.7漸變動畫—Tween Animation169
7.7.1Tween Animation簡介169
7.7.2Tween Animation共同的屬性169
7.7.3淡進淡出—AlphaAnimation170
7.7.4忽大忽小—ScaleAnimation171
7.7.5平移—TranslateAnimation172
7.7.6旋轉—RotateAnimation173
7.7.7實現一個自己的TweenAnimation174
7.8漸變動畫—Frame Animation176
7.9隨意組合動畫效果—AnimationSet177
7.10加速的工具—Interpolator178
第8章網路的時代—網路開發180
8.1Android中網路開發概述180
8.2直接基於Socket編程181
8.2.1Socket編程簡介181
8.2.2基於TCP協定的Socket編程183
8.2.3基於UDP協定的Socket編程184
8.3基於最成熟的Web協定—HTTP協定編程185
8.3.1HTTP協定簡介185
8.3.2使用URL類讀取HTTP資源187
8.3.3使用HttpURLConnection類訪問HTTP資源189
8.3.4使用Apache的HttpClient190
8.4耗時操作的通用方式—多執行緒與異步處理192
8.4.1多執行緒和異步處理簡介192
8.4.2Handler方式193
8.4.3AsyncTask類實現後台任務的處理197
8.5輕量級的數據交換格式—JSON199
8.5.1客戶端與伺服器端的數據互動199
8.5.2XML格式與JSON格式的比較201
8.5.3解析JSON格式數據202
第9章多語言環境的支持和多螢幕的適配205
9.1Android程式的資源檔案205
9.1.1資源檔案的目錄結構205
9.1.2資源檔案目錄的修飾語206
9.1.3程式載入資源檔案的步驟208
9.2國際化和本地化的支持209
9.3多螢幕的適配210
9.3.1螢幕參數的基本概念210
9.3.2螢幕參數的各種單位及相互轉換211
9.3.3處理螢幕自適應的方法212
9.3.4詳細說明Density214
第10章利用手機特性—結合硬體進行開發217
10.1炫酷的人機互動—觸摸和手勢217
10.1.1實現滑動翻頁—使用ViewFlipper217
10.1.2支持多個手指一起操作—實現多點觸摸222
10.1.3識別手勢—使用GestureDetector227
10.2我在哪裡—使用定位功能230
10.3電話撥打和簡訊傳送233
10.3.1調用系統的電話撥打功能233
10.3.2實現傳送簡訊的功能234
10.4拍照和攝像235
10.5使用感測器238
10.5.1感測器概述238
10.5.2加速度感測器241
10.5.3方向感測器242
10.5.4其他感測器243
第11章避重就輕—結合Web開發Android套用245
11.1Android上的Web套用概述245
11.2使用WebView載入Web頁面247
11.2.1Webkit引擎和WebView控制項247
11.2.2瀏覽基本的Web頁面247
11.2.3開啟對於JavaScript的支持249
11.2.4監聽Web頁面的載入250
11.2.5讓WebView支持檔案下載250
11.3本地代碼與Web頁面互動252
11.3.1向Web頁面傳遞數據252
11.3.2本地代碼調用Web頁面JavaScript方法254
11.3.3Web頁面調用本地Java方法254
11.4Web頁面的JavaScript調試259
11.5常用移動設備Web開發框架260
11.5.1jQuery Mobile框架簡介260
11.5.2Sencha Touch框架簡介262
11.5.3PhoneGap開發平台簡介262
第12章細節決定成敗—Android應用程式的最佳化264
12.1對套用記憶體的最佳化264
12.1.1Android程式的記憶體概述264
12.1.2追蹤記憶體—使用記憶體最佳化輔助工具266
12.1.3吃記憶體大戶—Bitmap的最佳化270
12.1.4想回收就回收—使用軟引用和弱引用274
12.1.5注重細節—從代碼角度進行最佳化277
12.2對界面UI的最佳化281
12.2.1多利用Android系統的資源281
12.2.2抽取相同的布局284
12.2.3精簡UI層次285
12.2.4界面延遲載入技術287
12.3留條後路—對Crash進行處理288
12.3.1為什麼需要捕獲Crash288
12.3.2如何捕獲和處理Crash289
參考文獻292

相關詞條

熱門詞條

聯絡我們