TOP
0
0
古典詩詞的女兒-葉嘉瑩
比Eclipse更強的Qt on Android全腦開發聖經
滿額折

比Eclipse更強的Qt on Android全腦開發聖經

商品資訊

定價
:NT$ 590 元
優惠價
90531
絕版無法訂購
商品簡介
目次
相關商品

商品簡介

當Qt跨界牽手Android,行動開發會有什麼不同?
初學者如何運用Qt開發Android應用?
跟隨CSDN博文大賽冠軍foruok進入Qt on Android無秘之旅!
這是一本介紹Qt程式設計技術、何在行動平台Android上使用Qt框架
進行開發的書。對於Qt技術感興趣的讀者,無論是專注傳統的桌面軟
體發展,還是希望嘗試使用Qt在Android平台開發,都可以從中獲得
最根本、最重要的知識與實例。
適合:具C/C++語言基礎、希望開發跨平台應用的開發人員,或開發
Android應用的C/C++開發人員。

前言
本書主要介紹Qt 程式設計技術,其次是說明如何在行動平台Android 上使用Qt 框架進行開發。對於Qt 技術有興趣的讀者,無論是專注於傳統的桌面軟體開發,還是希望嘗試使用Qt 在Android 平台開發,都可以從本書中獲得最根本、最重要的知識與實例。
如果你剛接觸Qt,希望能快速入門,本書第2 章提供了圖文並茂的環境架設教學、簡潔實用的Qt Creator 整合式開發環境介紹、各種開發工具的快速使用指南以及詳細的入門專案建立過程。同時,筆者也在第5 章進一步介紹了Qt 的版面配置管理員,在第8 章扼要說明了可以在桌面和Android 兩個平台上同時使用的Qt Gui 控制項,這些可以作為基礎教學。
如果你已經使用Qt 開發過桌面軟體或嵌入式軟體,現在想在Android 平台上小試牛刀,那就趕快行動吧。本書以「從零開始也能學會Qt on Android 開發」為目標,在第3 章首先詳細說明JDK、Android SDK、Android NDK、環境變數設定、Android 虛擬裝置建立、手機連接等一切可能給你入門帶來障礙的內容,然後以Hello Qt On Android 為基礎,詳細地說明如何建立支援Android 平台的專案、如何設定Android 相關的專案選項、如何部署Qt on Android 應用,最後又介紹如何在Android 上使用Qt 及Android 的記錄檔系統、如何使用adb 過濾應用記錄檔,以備你在開發過程中遇到問題時不再為偵錯問題發愁。在第13章,筆者深入Qt on Android 內部,一步一步為你揭開Qt 何以能夠在Android平台執行的秘密。當然,如果你對此不感興趣,可以跳到第14 章開始看,那裡
有行動開發的各種主題。第15 章是筆者為你準備的進階利器,以便你需要呼叫Android 系統為你的應用加分時有路可循。至於第16 章,則是本書所介紹內容在Android 平台的大閱兵,你不但會看到Qt 傳統的各種技術(如網路、XML、Qt Widgets、檔案IO、Json、QTL、事件篩檢程式等)如何在Android 平台上躍馬揚鞭,也會看到感測器、錄音、多點觸控等行動開發技術的實際應用,還會看到JNI 的實作。
訊號與槽是Qt 框架最有特色的內容,是一切Qt 重要技術的基礎,筆者在第5章和第6 章先後多次從不同角度進行說明,既涵蓋訊號與槽的各種典型使用場景,也抽絲剝繭剖析了訊號與槽的原理,甚至以大量篇幅說明Qt 元物件系統,為的就是讓你從「大概知道怎麼用」的階段提升到「了然為什麼這麼用」的境界。
很多開發者在實際的專案開發中經常使用多執行緒,我曾經看到太多的人對Qt多執行緒程式設計感到迷惑,提出了各種各樣的問題,尤其是當訊號與槽遭遇多執行緒,本書的第6 章、第9 章可以帶領你走出泥淖。
如果你對Qt 的網路程式設計(第10 章)、Qt 範本函數庫如何使用(第7 章)、Qt 的XML 技術(第12 章)有興趣,本書也不會讓你失望。
Qt 的事件處理流程,第6 章的第9 節就是為你準備的,看了它你就可以掌握Qt事件處理的七種武器,想攔誰就攔誰,為所欲為。
你需要什麼技術基礎
Qt 是以C++ 為基礎的開發框架,大量使用物件導向概念,諸如繼承、虛擬函數、多載、純虛擬類別等,建議你先了解C++ 和物件導向程式設計。如果已接觸過C++ 但不是十分熟悉,遇到不明之處翻閱C++ 書籍即可。
如果你有C++ 基礎但從未接觸過GUI 程式設計,不要擔心,Qt 雖然是以事件機制為基礎的,但它良好的封裝使得你可以從Qt 開始你的第一個GUI 應用。
如果你想在Qt 中透過呼叫Java 程式來獲得使用Android 系統功能的特權,則需要一點Java 語言和Android 程式設計的基礎。如果你熟悉C++,學習並掌握Java 語言的基礎部分十分容易,而Android 應用程式開發的很多概念和模式又和Qt 相通⋯⋯
軟硬體環境
筆者使用Windows 7 作為開發環境,可供參考。
至於開發主機的硬體規格,筆者建議設定為:
■■ 雙核心以上CPU
■■ 4GB 以上記憶體
而為了驗證Qt on Android 應用在手機上的效果,還需要一部Android 手機,系統版本在2.3 以上。建議設定為:
■■ Android 系統4.0 及以上
■■ 記憶體1GB 以上
■■ 4GB 以上快閃記憶體或加配SD 卡
為了連接電腦和手機進行安裝與偵錯,需要:
■■ 一條與手機符合的資料線
■■ 與手機符合的ADB 驅動

目次

Chapter 01 Qt 概覽
1.1 什麼是Qt
1.2 我們能用Qt 做什麼
1.3 誰在使用Qt
1.4 什麼是Qt on Android
1.5 Qt on Android 的前世今生
Chapter 02 Qt 開發環境快速上手
2.1 Qt Creator 簡介
2.2 Qt Creator 下載與安裝
2.2.1 下載
2.2.2 安裝
2.3 建立第一個專案:Hello World
2.4 Qt Creator 整合式開發環境介紹
2.4.1 歡迎介面
2.4.2 編輯介面
2.4.3 除錯介面
2.4.4 專案選項設定
2.4.5 選單簡介
2.4.6 Qt Creator 的選項設定
2.4.7 專案範本介紹
2.5 Qt 開發工具介紹
2.5.1 Assistant
2.5.2 Designer
2.5.3 Linguist
2.5.4 命令列環境
Chapter 03 Qt on Android 快速上手
3.1 開發環境架設
3.1.1 JDK 安裝
3.1.2 環境變數設定
3.1.3 Android SDK 安裝
3.1.4 Android NDK 安裝
3.1.5 Apache Ant 安裝
3.1.6 Qt Creator 的Android 環境設定
3.1.7 AVD 建立
3.1.8 連接你的手機
3.2 Hello Qt on Android
3.2.1 建立專案
3.2.2 專案選項
3.2.3 建立金鑰檔案和憑證
3.2.4 建立AndroidManifest.xml
3.2.5 增加程式
3.2.6 執行程式
3.3 Qt 函數庫的部署策略
3.3.1 Use Ministro service to install Qt
3.3.2 Bundle Qt libs in APK
3.3.3 Deploy local Qt libraries to temporary directory
3.4 記錄檔
3.4.1 為什麼要有記錄檔
3.4.2 在Qt 中如何使用記錄檔
3.4.3 如何把記錄檔輸出到Android 記錄檔系統中
Chapter 04 Qt 專案檔案介紹
4.1 pro 檔案介紹
4.1.1 註釋
4.1.2 元件選擇
4.1.3 目的檔案名稱
4.1.4 範本
4.1.5 指定原始檔案
4.1.6 指定標頭檔
4.1.7 設定標頭檔路徑
4.1.8 指定函數庫與函數庫檔案路徑
4.1.9 定義巨集
4.1.10 設定資訊
4.1.11 程式區塊與條件測試
4.1.12 變數
4.2 pro.user 檔案
4.3 pri 檔案
4.4 Makefile
Chapter 05 Qt 入門
5.1 Hello World 再分析
5.2 QuitApp:帶互動的小程式
5.3 初識訊號與槽
5.4 建置複雜介面
5.4.1 蓋洛普Q12 測評程式
5.4.2 建立自己的槽
5.4.3 版面配置管理員介紹
5.4.4 控制項回顧
5.5 追隨Qt 的程式風格
Chapter 06 元物件系統
6.1 牡丹花範例
6.2 再論編譯過程
6.3 Q_OBJECT 巨集
6.4 QMetaObject
6.5 關鍵字signals、slots、emit、SIGNALS、SLOTS
6.5.1 signals
6.5.2 emit
6.5.3 slots
6.5.4 SIGNALS
6.5.5 SLOTS
6.6 moc 的魔法
6.6.1 moc_peony.cpp 的原始程式
6.6.2 moc 的工作清單
6.6.3 訊號的真容
6.6.4 訊號與槽
6.7 深入了解訊號與槽
6.7.1 訊號與槽原理
6.7.2 如何使用訊號與槽
6.7.3 訊號與槽的連接類型
6.7.4 訊號與槽經驗談
6.7.5 跨執行緒使用訊號與槽
6.8 屬性系統
6.8.1 靜態屬性
6.8.2 動態(執行時期)屬性
6.9 事件和事件篩檢程式
6.9.1 重新定義event()
6.9.2 重新定義特定事件處理器
6.9.3 事件篩檢程式
6.9.4 自訂事件
6.10 計時器事件
6.10.1 使用QTimer
6.10.2 使用QObject::startTimer
6.11 物件樹與生命週期
6.12 智慧指標
6.12.1 QPointer
6.12.2 QSharedPointer
6.12.3 QWeakPointer
6.12.4 QScopedPointer
6.12.5 QObjectCleanupHandler
6.13 動態類型轉換
6.14 國際化
6.14.1 字串國際化方法
6.14.2 建立譯本
6.14.3 載入譯文檔案
6.14.4 執行時期改變語言
Chapter 07 Qt 範本函數庫介紹
7.1 使用QString
7.1.1 初始化一個字串
7.1.2 操作字串資料
7.1.3 字串查詢
7.1.4 編碼轉換
7.1.5 格式化輸出
7.2 容器類別
7.2.1 QList 範例
7.2.2 QMap 範例
Chapter 08 Qt GUI 程式設計
8.1 智慧型手機GUI 特點
8.2 內建視窗控制項介紹
8.2.1 QRadioButton
8.2.2 QCheckBox
8.2.3 QGroupBox
8.2.4 QLineEdit
8.2.5 QTextEdit
8.2.6 QTabWidget
8.2.7 QListWidget
8.2.8 Qt 資源檔系統
8.2.9 QTableWidget9
8.3 自訂視窗套件
8.3.1 使用QPainter 繪圖
8.3.2 為Android 實現的ImageButton
8.3.3 文字漸層標籤
Chapter 09 多執行緒
9.1 上路,執行緒
9.2 執行緒自己的事件循環
9.3 執行緒間通訊
9.3.1 跨執行緒的訊號與槽
9.3.2 跨執行緒的事件
9.3.3 門鈴範例程式
9.4 執行緒同步
9.5 使用QThread 的注意事項
9.6 QThreadPool
9.7 高階多執行緒API:QtConcurrent
Chapter 10 網路程式設計
10.1 QNetworkAccessManager
10.1.1 http 程式設計
10.1.2 ftp 程式設計
10.2 QTcpSocket/QTcpServer
10.2.1 伺服器
10.2.2 用戶端
10.3 QUdpSocket
10.3.1 伺服器
10.3.2 用戶端
Chapter 11 檔案IO
11.1 QFile
11.2 QTextStream
11.3 QDataStream
Chapter 12 XML
12.1 XML 讀取與解析
12.1.1 DOM
12.1.2 SAX
12.1.3 StAX
12.2 XML 檔案產生與儲存
12.2.1 QXmlStreamWriter
12.2.2 QDomNode::save()
12.2.3 QTextStream 和QFile 的方式
Chapter 13 Qt on Android 揭秘
13.1 APK 是怎樣煉成的
13.1.1 當你「執行」時⋯⋯
13.1.2 Android 專案目錄結構
13.1.3 string.xml 介紹
13.1.4 AndroidManifest.xml 介紹
13.1.5 libs.xml 介紹
13.1.6 Androiddeployqt.exe 都做了什麼
13.2 Java 與Qt 的結合過程
13.2.1 應用入口
13.2.2 通訊代理
13.2.3 QPA 外掛程式
13.3 Qt 應用的狀態
Chapter14 Android 行動開發主題
14.1 按鍵處理
14.1.1 重新定義keyPressEvent/keyReleaseEvent
14.1.2 給子控制項安裝事件篩檢程式
14.1.3 應用等級的事件篩檢程式
14.2 觸控與手勢
14.2.1 觸控
14.2.2 手勢
14.3 感測器與手勢
14.3.1 常見感測器介紹
14.3.2 Qt 感測器手勢類別庫介紹
14.3.3 搖動手勢
14.3.4 覆蓋手勢
14.3.5 自由落體
14.3.6 繞排手勢
14.3.7 翻轉手勢
14.3.8 扇動手勢
14.3.9 感測器手勢的使用
14.4 拍照
14.4.1 QCamera 和它的夥伴
14.4.2 QCameraViewFinder
14.4.3 QCameraImageCapture
14.4.4 使用相機拍照
14.4.5 在QML 應用中使用相機
14.5 錄音與重播
14.5.1 錄音類別庫
14.5.2 播放類別庫
14.5.3 錄音與重播小範例
Chapter15 使用JNI 擴充你的應用
15.1 使用JNI Environment
15.2 呼叫Java 程式
15.2.1 Java 方法簽章
15.2.2 呼叫Java 方法
15.2.3 extendsQtWithJava 實例
15.2.4 QtAndroid 命名空間
15.2.5 使用手機外部儲存
15.3 Java 呼叫C++
Chapter16 實作部分
16.1 筆記qnotepad
16.1.1 首頁設計與實現
16.1.2 筆記物件
16.1.3 筆記瀏覽與編輯
16.2 圖片瀏覽器
16.2.1 檔案選擇控制項
16.2.2 圖片載入器
16.2.3 圖片顯示
16.3 IP 位址查詢
16.3.1 Json 資料格式簡介
16.3.2 Qt 中的Json 類別庫
16.3.3 程式詳解
16.4 音樂播放機
16.4.1 Qt 樣式表
16.4.2 多媒體類別庫介紹
16.4.3 音樂播放機詳解
16.5 天氣預報
16.5.1 GPS 定位
16.5.2 天氣查詢與顯示
16.6 拍照與後期處理
16.6.1 相機實作
16.6.2 影像處理演算法
16.6.3 圖片載入與顯示
16.6.4 組織
Appendix A 常見問題

您曾經瀏覽過的商品

購物須知

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:90 531
絕版無法訂購

暢銷榜

客服中心

收藏

會員專區