本書圍繞移動互聯網背景下的應用開發(fā)需求,簡明扼要地介紹移動互聯網的相關概念與技術、Java面向對象程序設計基礎及Android應用開發(fā)技術與案例。讀者通過基礎知識與案例的學習,能夠初步進行基于Android系統的移動互聯網應用實際開發(fā)。
全書分為四部分,共11章。第壹部分為第1章,介紹移動互聯網的概念、關鍵技術與應用開發(fā)技術;第二部分包括第2~4章,詳細介紹Java語言的特點、運行機制、面向對象基本概念、Java多線程技術等;第三部分包括第5~9章,詳細介紹Android系統架構、開發(fā)環(huán)境搭建方法、應用界面設計、網絡與通信編程、數據存儲技術等;第四部分包括第10~11章,分別給出Android基礎應用的案例和基于物聯網開發(fā)平臺的綜合應用案例。各個章節(jié)的相關完整示例代碼隨書提供,讀者可在機械工業(yè)出版社教育服務網(www.cmpedu.com)下載。
本書適合高等院校電子信息工程、通信工程等專業(yè)學生使用,也可作為相關行業(yè)的工程技術人員參考用書。
目錄
前言
第1章移動互聯網技術基礎1
1.1移動互聯網的概念1
1.1.1移動互聯網的產生背景1
1.1.2移動互聯網的組成與體系架構4
1.2移動互聯網的關鍵技術7
1.2.1基礎網絡技術7
1.2.2終端技術13
1.2.3應用服務技術17
1.3移動互聯網應用開發(fā)技術24
1.3.1網絡應用模式24
1.3.2移動互聯網應用的類型26
1.3.3移動互聯網應用的開發(fā)工具27
習題31
第2章Java編程基礎32
2.1Java語言發(fā)展歷程32
2.2Java語言的特性33
2.3Java程序的運行機制34
2.3.1高級語言運行機制34
2.3.2Java程序與JVM34
2.4Java開發(fā)環(huán)境搭建35
2.4.1下載和安裝JDK35
2.4.2環(huán)境變量配置36
2.4.3運行Java程序37
2.4.4常見的Java IDE介紹38
習題41
第3章基于Java語言的面向對象
程序設計42
3.1面向對象基本概念42
3.2類44
3.2.1類的定義44
3.2.2成員變量與成員方法45
3.2.3類的構造方法45
3.2.4局部變量46
3.2.5this關鍵字47
3.2.6類的主方法47
3.3對象48
3.3.1對象的創(chuàng)建48
3.3.2訪問對象的屬性和行為48
3.3.3對象的引用48
3.3.4對象的比較49
3.4繼承49
3.4.1定義子類49
3.4.2方法覆蓋50
3.4.3繼承層次52
3.4.4多態(tài)52
3.5接口54
3.5.1接口的概念54
3.5.2接口的定義55
3.5.3接口的使用55
3.5.4接口與抽象類56
習題57
第4章Java多線程技術58
4.1線程概述58
4.1.1線程和進程58
4.1.2多線程的優(yōu)勢59
4.2線程的創(chuàng)建和啟動59
4.2.1繼承Thread類創(chuàng)建線程類59
4.2.2實現Runnable接口創(chuàng)建線程類60
4.2.3使用Callable和Future創(chuàng)建線程61
4.3線程的生命周期62
4.3.1新建和就緒狀態(tài)63
4.3.2運行和阻塞狀態(tài)63
4.3.3線程死亡64
4.4線程通信65
4.4.1傳統的線程通信65
4.4.2使用Condition控制線程通信68
4.4.3使用阻塞隊列(BlockingQueue)
控制線程通信72
習題75
第5章Android開發(fā)基礎76
5.1Android技術簡介76
5.1.1Android發(fā)展簡介76
5.1.2Android平臺架構及特性77
5.1.3使用Gradle自動化構建項目78
5.2Android開發(fā)環(huán)境搭建79
5.2.1安裝Android Studio79
5.2.2下載和安裝Android SDK81
5.2.3在安裝過程中常見的錯誤81
5.2.4安裝運行、調試環(huán)境82
5.3創(chuàng)建并運行第一個Android應用85
5.3.1創(chuàng)建新項目85
5.3.2編譯項目/模塊86
5.3.3在真機和模擬器上運行程序86
5.4Android項目的工程結構87
5.4.1工程目錄說明88
5.4.2編譯配置文件build.gradle88
5.4.3App運行配置AndroidManifest.
xml90
5.4.4在代碼中操縱控件91
5.5Android基本組件93
5.5.1Activity和View94
5.5.2Service94
5.5.3BroadcastReceiver94
5.5.4ContentProvider95
5.5.5Intent和IntentFilter95
習題95
第6章Android應用界面設計96
6.1Activity96
6.1.1Activity的生命周期96
6.1.2Intent簡介98
6.1.3Activity的頁面跳轉與數據傳遞99
6.2Android UI界面的設計104
6.2.1View類和ViewGroup類104
6.2.2UI界面的控制105
6.2.3布局管理器109
6.3UI基礎組件119
6.3.1文本框(TextView)119
6.3.2編輯框(EditText)122
6.3.3按鈕Button122
6.3.4單選按鈕(RadioButton)123
6.3.5復選框(CheckBox)126
6.3.6開關按鈕(ToggleButton)和開關
(Switch)128
6.3.7圖像視圖(ImageView)131
6.4UI高級組件132
6.4.1自動完成文本框
(AutoCompleteTextView)132
6.4.2日期選擇器(DatePicker)134
6.4.3拖動條(SeekBar)135
習題137
第7章Android事件處理機制138
7.1用戶UI輸入事件處理138
7.1.1概述138
7.1.2事件監(jiān)聽器與回調方法139
7.1.3事件處理程序實例140
7.2系統配置改變事件處理142
7.2.1概述142
7.2.2重寫onConfigurationChanged方法
響應系統設置更改144
7.3異步任務(AsyncTask)146
7.3.1概述146
7.3.2AsyncTask類工作原理148
7.3.3異步任務實例149
7.4Handler消息傳遞機制153
7.4.1Handler機制概述153
7.4.2Handler應用實例156
習題159
第8章Android網絡與通信編程160
8.1Android Socket編程160
8.1.1網絡地址InetAddress160
8.1.2基于TCP的Socket通信161
8.1.3基于UDP的Socket通信171
8.2HTTP接口訪問173
8.2.1網絡連接檢查173
8.2.2移動數據格式JSON176
8.2.3JSON串與實體類自動轉換178
8.2.4HTTP接口調用179
8.2.5HTTP圖片獲取180
8.3藍牙編程181
8.3.1藍牙簡介181
8.3.2Android藍牙API182
8.3.3Android藍牙基本操作184
8.4JNI開發(fā)187
8.4.1NDK環(huán)境搭建187
8.4.2開發(fā)JNI程序流程189
習題191
第9章Android數據存儲192
9.1共享參數SharedPreferences192
9.1.1共享參數的基本用法192
9.1.2實現記住密碼功能193
9.2數據庫SQLite196
9.2.1SQLite的基本用法196
9.2.2數據庫幫助器
SQLiteOpenHelper196
9.2.3優(yōu)化記住密碼功能202
9.3SD卡文件操作205
9.3.1SD卡的基本操作205
9.3.2公有存儲空間與私有存儲空間206
9.3.3文本文件讀寫206
9.3.4圖片文件讀寫207
習題209
第10章基礎案例210
10.1計算器APP210
10.1.1功能需求210
10.1.2項目創(chuàng)建210
10.1.3界面設計210
10.1.4功能實現210
10.1.5運行結果213
10.2基于Socket的聊天APP214
10.2.1功能需求214
10.2.2清單文件配置214
10.2.3服務端程序設計215
10.2.4客戶端程序設計220
10.2.5運行結果223
10.3基于SQLite的通訊錄APP224
10.3.1功能需求224
10.3.2項目創(chuàng)建224
10.3.3界面設計224
10.3.4功能實現225
10.3.5運行結果246
習題247
第11章基于物聯網開發(fā)平臺的
綜合應用案例248
11.1開發(fā)平臺硬件結構248
11.1.1基于COTEX A9的Android
主控系統248
11.1.2數據傳感與采集模塊250
11.1.3核心板250
11.2工作模塊與主控系統的通信協議252
11.2.1通信協議252
11.2.2數據的處理253
11.3基于物聯網開發(fā)平臺的環(huán)境監(jiān)控
軟件系統253
11.3.1系統功能需求253
11.3.2項目創(chuàng)建255
11.3.3界面設計260
11.3.4功能實現264
11.3.5運行結果288
習題291
參考文獻292