第1章 Java語言 1
1.1 Java基本語法 2
1.1.1 變量、常量和數據類型 2
1.1.2 Java程序的注釋 10
1.1.3 表達式和運算符 12
1.1.4 字符串運算 14
1.1.5 數組 16
1.2 條件語句 18
1.3 分支語句 19
1.4 循環(huán)語句 20
1.4.1 for循環(huán) 20
1.4.2 while循環(huán) 21
1.4.3 do-while循環(huán) 21
1.4.4. 跳轉語句 22
1.5 面向對象編程技術 22
1.5.1 對象和類概述 23
1.5.2 對象的成員 24
1.5.3 訪問修飾符 26
1.5.4 成員的重載和覆蓋 27
1.5.5 包和接口 28
1.5.6 this、super和null變量 31
1.6 異常處理機制 32
1.6.1 異常概述 33
1.6.2 異常的捕獲和拋出 33
1.6.3 自定義異常 34
1.7 小結 35
第2章 J2ME概述 36
2.1 J2ME中的常用概念 37
2.1.1 J2ME嵌入式開發(fā)概述 37
2.1.2 J2ME和J2SE的關系 37
2.1.3 KVM,CVM和JVM 38
2.1.4 CLDC配置 38
2.1.5 MIDP簡表 39
2.2 MIDlet定義 39
2.2.1 MIDlet定義 39
2.2.2 MIDlet的生命周期 40
2.3 Motorola的J2ME手機開發(fā)包 40
2.3.1 Motorola的J2ME手機開發(fā)包的下載和安裝 41
2.3.2 Motorola的J2ME手機開發(fā)包的目錄結構 43
2.3.3 Motorola的J2ME手機開發(fā)包的模擬器 44
2.4 創(chuàng)建一個簡單MIDlet 47
2.4.1 創(chuàng)建一個簡單的MIDlet 47
2.4.2 Manifest文件編寫 47
2.4.3 JAD文件編寫 48
2.4.4 測試和運行MIDlet程序 49
2.5 技巧集錦 51
2.5.1 浮點運算錯誤 51
2.5.2 如何檢查Motorola手機支持的API的 51
2.6 小結 52
第3章 NetBeans開發(fā)環(huán)境 53
3.1 下載和安裝NetBeans 54
3.1.1 下載NetBeans開發(fā)工具 54
3.1.2 安裝NetBeans集成開發(fā)環(huán)境 59
3.1.3 安裝NetBeans Mobility 61
3.2 NetBeans開發(fā)環(huán)境 61
3.2.1 更新NetBeans系統(tǒng) 62
3.2.2 NetBeans菜單 64
3.2.3 NetBeans工具欄 65
3.2.4 代碼編輯區(qū) 66
3.2.5 項目窗口 70
3.2.6 運行環(huán)境窗口 70
3.2.7 文件窗口 71
3.2.8 輸出窗口 72
3.3 創(chuàng)建一個J2ME程序 72
3.3.1 WTK手機無線開發(fā)包 72
3.3.2 創(chuàng)建一個J2ME程序 73
3.4 MIDlet的調試技術 77
3.4.1 調試模式和斷點設置 77
3.4.2 觀測變量值 77
3.4.3 控制代碼執(zhí)行 79
3.5 在手機中運行程序 79
3.5.1 通過OTA下載到手機運行 79
3.5.2 通過數據線下載到手機運行 80
3.6 技巧集錦 81
3.6.1 MIDlet的安裝步驟 81
3.6.2 Motorola T720內存使用 81
3.6.3 如何在NetBeans中添加Motorola M.3模擬器 82
3.7 小結 85
第4章 多線程技術 86
4.1 線程概述 87
4.1.1 線程的概念 87
4.1.2 線程生命周期 87
4.2 通過Runnable接口創(chuàng)建線程 88
4.2.1 實現(xiàn)Runnable接口 88
4.2.2 線程的運行和停止控制 90
4.3 Thread類 91
4.3.1 Thread類重要的屬性和方法 91
4.3.2 通過Thread類實現(xiàn)線程 92
4.4 線程的同步 93
4.4.1 線程不同步的影響 93
4.4.2 線程同步方法 97
4.4.3 線程同步實例 98
4.5 線程的優(yōu)先級 102
4.5.1 線程優(yōu)先級概述 102
4.5.2 線程優(yōu)先級實例 102
4.6 線程的等待和喚醒 108
4.6.1 等待和喚醒的方法 108
4.6.2 等待和喚醒實例 109
4.7 技巧集錦 113
4.7.1 如何防止線程死鎖 113
4.7.2 如何進行通信 113
4.8 本章小結 114
第5章 設計簡單的人機交互界面 116
5.1 用戶界面設計概述 117
5.2 Display和Displayable類 118
5.2.1 Display類的使用方法 118
5.2.2 Display類應用實例 120
5.2.3 Displayable類 125
5..2.4 Displayable類應用實例 127
5.3 在窗口中顯示滾動條 129
5.3.1 Ticker類 130
5.3.2 滾動條應用舉例 130
5.4 TextBox類 133
5.4.1 TextBox的構造函數 133
5.4.2 文本處理 134
5.4.3 TextBox的輸入約束 136
5.4.4 TextBox的最大值 143
5.5 命令按鈕 143
5.5.1 Command類 144
5.5.2 CommandListener類 145
5.5.3 Command類應用舉例 146
5.6 Alert和AlertType類 149
5.6.1 Alert類 150
5.6.2 AlertType類 150
5.6.3 Alert應用舉例 151
5.7 技巧集錦 157
5.8 小節(jié) 159
第6章 列表風格界面設計 160
6.1 Item類 161
6.1.1 Item的派生類 161
6.1.2 Item的布局 162
6.1.3 Item的外觀 163
6.1.4 Item的其他屬性 164
6.2 與列表風格相關的接口 164
6.2.1 ItemCommandListener接口 165
6.2.2 ItemStateListener接口 165
6.2.3 Choice接口 166
6.3 List類 168
6.3.1 重要屬性和方法 168
6.3.2 應用舉例 171
6.4 Form類 177
6.4.1 重要屬性和方法 177
6.4.2 應用舉例 179
6.5 TextField類 183
6.5.1 重要屬性和方法 183
6.5.2 應用舉例 185
6.6 ChoiceGroup類 188
6.6.1 重要屬性和方法 188
6.6.2 應用舉例 191
6.7 技巧集錦 195
6.7.1 如何刪除List中的內容 195
6.7.2 執(zhí)行時間的測量 196
6.8 小節(jié) 196
第7章 高級用戶界面 198
7.1 使用Gauge 199
7.1.1 重要屬性和方法 199
7.1.2 應用舉例 202
7.2 使用ImageItem 209
7.2.1 重要屬性和方法 209
7.2.2 應用舉例 210
7.3 使用StringItem 212
7.3.1 重要屬性和方法 212
7.3.2 應用舉例 213
7.4 使用DateField 216
7.4.1 TimeZone類 216
7.4.2 Date類 216
7.4.3 Calendar類 217
7.4.4 DateField重要屬性和方法 218
7.4.5 應用舉例 221
7.5 技巧集錦 228
7.5.1 如何實現(xiàn)版權閃現(xiàn)窗口 228
7.5.2 Alert對話框中使用進度條 230
7.6 小結 234
第8章 圖形和動畫界面開發(fā) 235
8.1 Canvas畫布屏幕 236
8.1.1 畫布使用基本框架 236
8.1.2 鍵盤事件處理 236
8.1.3 畫布大小 239
8.1.4 指針事件處理 239
8.1.5 全屏模式 239
8.1.6 應用舉例 240
8.2 繪制基本圖形和文本 243
8.2.1 Graphics類 243
8.2.2 文本繪制方法 244
8.2.3 基本的繪制和填充函數 245
8.3 圖像顯示和處理 246
8.4 簡單動畫的實現(xiàn) 248
8.4.1 通過線程實現(xiàn)動畫 249
8.4.2 定時器和實現(xiàn)動畫 250
8.4.3 通過callSerially()方法實現(xiàn)動畫 251
8.4.4 應用舉例 251
8.5 技巧集錦 257
8.5.1 雙緩沖技術 257
8.5.2 Motorola手機鍵值的變化 258
8.6 小節(jié) 259
第9章 多媒體技術開發(fā) 260
9.1 聲音和音樂播放 261
9.1.1 J2ME對聲音和音樂的支持 261
9.1.2 聲調播放實例 264
9.1.3 不同格式音樂的播放實例 266
9.2 視頻播放 270
9.2.1 播放視頻方法 270
9.2.2 視頻播放器開發(fā)實例 271
9.3 技巧集錦 273
9.3.1 同時播放兩個Wave文件時的異常 273
9.3.2 Motorola V600支持的媒體格式 274
9.4 小節(jié) 274
第10章 動畫及游戲開發(fā) 276
10.1 游戲畫布GameCanvas 277
10.1.1 重要屬性和方法 277
10.1.2 處理游戲循環(huán) 278
10.1.3 GameCanvas引用實例 279
10.2 游戲精靈Sprite 285
10.2.1 動畫幀控制 285
10.2.2 游戲精靈碰撞檢測 287
10.2.3 精靈的移動和轉動 287
10.2.4 精靈應用實例 288
10.3 游戲圖層 293
10.3.1 游戲圖層 293
10.3.2 動畫實現(xiàn) 294
10.4 圖層管理 295
10.4.1 層的安排 295
10.4.2 地圖滾動控制 295
10.5 技巧集錦 296
10.5.1 如何減小程序的大小 296
10.5.2 如何提高游戲的執(zhí)行效率 296
10.6 小節(jié) 297
第11章 3D圖形程序開發(fā) 298
11.1 3D程序框架 299
11.2 通過頂點坐標生成簡單的3D物體 300
11.2.1 生成3D物體 300
11.2.2 旋轉3D物體 303
11.2.3 簡單3D物體生成實例 304
11.3 導入3D圖形文件 308
11.3.1 Loader類 308
11.3.2 導入3D圖形文件實例 309
11.4 3D顯示特效霧化效果實現(xiàn) 311
11.4.1 Fog類 312
11.4.2 霧化效果實例 313
11.5 小節(jié) 318
第12章 Messaging應用開發(fā) 319
12.1 設置WTK中的WMA參數 320
12.2 使用WMA控制臺發(fā)送消息 321
12.2.1 發(fā)送文本消息 323
12.2.2 發(fā)送二進制消息 324
12.2.3 發(fā)送小區(qū)廣播 325
12.2.4 發(fā)送MMS消息 326
12.3 發(fā)送和接收文本消息 328
12.3.1 SMS系統(tǒng)概述 329
12.3.2 發(fā)送消息 329
12.3.3 接收消息 331
12.3.4 發(fā)送和接收文本消息實例 332
12.4 發(fā)送和接收二進制消息 338
12.4.1 二進制消息發(fā)送和接收 338
12.4.2 發(fā)送和接收二進制消息實例 339
12.5 發(fā)送和接收多媒體消息 347
12.5.1 MultipartMessage 348
12.5.2 MessagePart 351
12.6 技巧集錦 353
12.6.1 小區(qū)廣播的接收和發(fā)送 353
12.6.2 在線程中接收短信 355
12.6.3 如何在Motorola SDK中模擬短信的發(fā)送 356
12.7 小節(jié) 359
第13章 基于HTTP協(xié)議的網絡開發(fā) 360
13.1 網絡開發(fā)基礎知識 361
13.2 Connector接口 361
13.3 連接Web服務器 362
13.3.1 HttpConnection和HttpsConnection 362
13.3.2 連接Web服務器的方法 364
13.4 從服務器Get數據 366
13.5 向服務器Post數據 370
13.6 技巧集錦 380
13.6.1 如何設置Motorola手機 380
13.6.2 如何在WTK中使用代理 380
13.6.3 如何使用WTK的網絡監(jiān)視器 381
13.7 小節(jié) 382
第14章 Socket編程 383
14.1 Socket編程概述 384
14.2 SocketConnection 384
14.3 ServerSocketConnection 386
14.4 Socket客戶端開發(fā) 387
14.5 Socket服務器端程序開發(fā) 394
14.6 技巧集錦 397
14.6.1 Motorola Accompli 008/A6288的網絡支持 397
14.6.2 Socket客戶端超時設置 397
14.6.3 Motorola的哪些手機支持ServerSocketConnection 398
14.7 小節(jié) 398
第15章 串口通信開發(fā) 399
15.1 串口通訊的基本概念 400
15.1.1 RS-232物理特性 400
15.1.2 口通信的基本概念 401
15.2 獲取可以利用的串口 402
15.3 進行標準串口連接 405
15.3.1 程序連接方法 406
15.3.2 連接測試方法 407
15.4 發(fā)送和接收數據 411
15.5 標準串口開發(fā)實例 412
15.6 技巧集錦 423
15.6.1 如何獲得最大傳輸速率 423
17.5.2 摩托羅拉T720, T721, T720i支持串口API嗎? 423
15.7 小節(jié) 424
第16章 紅外數據傳輸 425
16.1 紅外概述 426
16.2 通過邏輯串口進行紅外通訊 426
16.3 通過IrOBEX進行通訊 428
16.3.1 IrOBEX協(xié)議概述 429
16.3.2 IrOBEX協(xié)議客戶端開發(fā) 430
16.3.3 IrOBEX協(xié)議服務器端開發(fā) 431
16.4 紅外OBEX開發(fā)實例 433
16.5 技巧集錦 442
16.5.1 通過紅外安裝MIDlet 442
16.5.2 如何設置WTK的紅外OBEX參數 444
16.6 小節(jié) 445
第17章 文件系統(tǒng)開發(fā) 426
17.1 輸入輸出流控制 427
17.1.1 輸入輸出流的分類 427
17.1.2 輸入流重要屬性和方法 428
17.1.3 輸出流重要屬性和方法 428
17.2 文件系統(tǒng)操作API 429
17.2.1 FileConnection接口 429
17.2.2 其他API 430
17.3 文件瀏覽器開發(fā)實例 431
17.3.1 MIDlet類 431
17.3.2 確認對話框ConfirmDialog 431
17.3.3 FileExplorer類和成員變量定義 433
17.3.4 文件和文件夾的訪問 436
17.3.5 創(chuàng)建文件 439
17.3.6 刪除文件 442
17.3.7 讀取文件數據 444
17.3.8 訪問文件的屬性 447
17.3.9 文件的復制 450
17.3.10 文件的剪切 452
17.3.11 文件的粘貼 452
17.4 技巧集錦 454
17.4.1 簽名運行 454
17.4.2 MIDlet JAD文件屬性 456
17.5 小節(jié) 458