ANDROID STUDIO開發實戰:從零基礎到APP上線(
作 者: 歐陽燊 著
定 價: 139
出?版?社: 清華大學出版社
出版日期: 2018年11月01日
頁 數: 786
裝 幀: 平裝
ISBN: 9787302512608
●目 錄章 Android Studio環境搭建11.1 Android Studio簡介11.2 Android Studio的安裝21.2.1 開發機配置要求21.2.2 安裝依賴的軟件21.2.3 安裝Android Studio31.2.4 Android的SDK51.3 運行小應用Hello World61.3.1 創建新項目61.3.2 編譯項目/模塊81.3.3 創建模擬器91.3.4 在模擬器上運行App91.4 App的工程結構111.4.1 工程目錄說明111.4.2 編譯配置文件build.gradle121.4.3 App運行配置AndroidManifest.xml131.4.4 在代碼中操縱控件141.5 準備開始151.5.1 使用快捷鍵151.5.2 安裝SVN工具161.5.3 安裝常用插件171.5.4 導入已經存在的工程191.5.5 新建一個Activity頁面201.6 小結22第2章 初級控件232.1 屏幕顯示232.1.1 像素232.1.2 顏色252.1.3 屏幕分辨率262.2 簡單布局272.2.1 視圖View的基本屬性272.2.2 線性布局LinearLayout302.2.3 滾動視圖ScrollView322.3 簡單控件342.3.1 文本視圖TextView342.3.2 按鈕Button372.3.3 圖像視圖ImageView392.3.4 圖像按鈕ImageButton432.4 圖形基礎452.4.1 圖形Drawable452.4.2 狀態列表圖形462.4.3 形狀圖形472.4.4 九宮格圖片502.5 實戰項目:簡單計算器532.5.1 設計思路532.5.2 小知識:日志Log/提示Toast552.5.3 代碼示例562.6 小結57第3章 中級控件593.1 其他布局593.1.1 相對布局RelativeLayout593.1.2 框架布局FrameLayout633.2 特殊按鈕643.2.1 復選框CheckBox643.2.2 開關按鈕Switch653.2.3 單選按鈕RadioButton663.3 適配視圖基礎683.3.1 下拉框Spinner683.3.2 數組適配器ArrayAdapter693.3.3 簡單適配器SimpleAdapter703.4 編輯框723.4.1 文本編輯框EditText723.4.2 自動完成編輯框AutoCompleteTextView773.5 活動Activity基礎783.5.1 Activity的生命周期783.5.2 使用Intent傳遞消息833.5.3 向下一個Activity傳遞參數853.5.4 向上一個Activity返回參數863.6 實戰項目:房貸計算器893.6.1 設計思路893.6.2 小知識:文本工具TextUtils903.6.3 代碼示例913.7 實戰項目:登錄App933.7.1 設計思路933.7.2 小知識:提醒對話框AlertDialog943.7.3 代碼示例963.8 小結98第4章 數據存儲1004.1 共享參數SharedPreferences1004.1.1 共享參數的基本用法1004.1.2 實現記住密碼功能1024.2 數據庫SQLite1034.2.1 SQLite的基本用法1034.2.2 數據庫幫助器SQLiteOpenHelper1044.2.3 優化記住密碼功能1104.3 SD卡文件操作1124.3.1 SD卡的基本操作1124.3.2 公有存儲空間與私有存儲空間1144.3.3 文本文件讀寫1154.3.4 圖片文件讀寫1164.4 應用Application基礎1184.4.1 Application的生命周期1184.4.2 利用Application操作全局變量1194.5 內容提供與處理1214.5.1 內容提供器ContentProvider1214.5.2 內容解析器ContentResolver1234.5.3 內容觀察器ContentObserver1284.6 實戰項目:購物車1314.6.1 設計思路1314.6.2 小知識:菜單Menu1324.6.3 代碼示例1364.7 小結139第5章 不錯控件1405.1 日期時間控件1405.1.1 日期選擇器DatePicker1405.1.2 時間選擇器TimePicker1425.2 列表類視圖1445.2.1 基本適配器BaseAdapter1445.2.2 列表視圖ListView1485.2.3 網格視圖GridView1545.3 翻頁類視圖1585.3.1 翻頁視圖ViewPager1585.3.2 翻頁標題欄PagerTitleStrip/PagerTabStrip1615.3.3 簡單的啟動引導頁1635.4 碎片Fragment1665.4.1 靜態注冊1665.4.2 動態注冊/碎片適配器FragmentStatePagerAdapter1705.4.3 改進的啟動引導頁1735.5 廣播Broadcast基礎1755.5.1 發送/接收臨時廣播1765.5.2 定時器AlarmManager1785.6 實戰項目:萬年歷1805.6.1 設計思路1805.6.2 小知識:月份選擇器MonthPicker1815.6.3 代碼示例1835.7 實戰項目:日程表1845.7.1 設計思路1845.7.2 小知識:震動器Vibrator1855.7.3 代碼示例1855.8 小結187第6章 自定義控件1886.1 自定義視圖1886.1.1 聲明屬性1886.1.2 構造對像1916.1.3 測量尺寸1926.1.4 寬高尺寸的動態調整1956.1.5 繪制視圖1986.2 自定義動畫2046.2.1 任務Runnable2046.2.2 下拉刷新動畫2056.2.3 圓弧進度動畫2076.3 自定義對話框2086.3.1 對話框Dialog2086.3.2 改進的日期對話框2096.3.3 自定義多級對話框2136.4 自定義通知欄2146.4.1 通知推送Notification2146.4.2 進度條ProgressBar2186.4.3 遠程視圖RemoteViews2206.4.4 自定義通知的文本顏色設定2236.5 服務Service基礎2256.5.1 Service的生命周期2256.5.2 推送服務到前臺2296.6 實戰項目:手機安全助手2306.6.1 設計思路2306.6.2 小知識:應用包管理器PackageManager2326.6.3 代碼示例2346.7 小結235第7章 組合控件2367.1 標簽欄2367.1.1 標簽按鈕2367.1.2 實現底部標簽欄2387.2 導航欄2467.2.1 工具欄Toolbar2467.2.2 溢出菜單OverflowMenu2487.2.3 搜索框SearchView2507.2.4 標簽布局TabLayout2537.3 橫幅條2607.3.1 自定義指示器2607.3.2 實現橫幅輪播Banner2637.3.3 仿京東頂到狀態欄的Banner2677.4 增強型列表2717.4.1 循環視圖RecyclerView2717.4.2 布局管理器LayoutManager2757.4.3 動態更新循環視圖2807.5 材質設計庫2827.5.1 協調布局CoordinatorLayout2827.5.2 應用欄布局AppBarLayout2857.5.3 可折疊工具欄布局CollapsingToolbarLayout2877.6 實戰項目:仿支付寶的頭部伸縮特效2907.6.1 設計思路2917.6.2 小知識:導航欄的滾動標志2927.6.3 代碼示例2937.7 實戰項目:仿淘寶主頁2987.7.1 設計思路2987.7.2 小知識:下拉刷新布局SwipeRefreshLayout2997.7.3 代碼示例3037.8 小結305第8章 調試與上線3068.1 調試工作3068.1.1 模擬器調試3068.1.2 真機調試3118.1.3 導出APK安裝包3138.2 準備上線3158.2.1 版本設置3158.2.2 上線模式3168.2.3 數據加密3208.3 安全加固3258.3.1 反編譯3258.3.2 代碼混淆3278.3.3 第三方加固及重簽名3298.4 發布到應用商店3318.4.1 注冊開發者賬號3318.4.2 創建並提交應用3328.5 小結334第9章 設備操作3359.1 攝像頭3359.1.1 表面視圖SurfaceView3359.1.2 使用Camera拍照3379.1.3 紋理視圖TextureView3439.1.4 使用Camera 2拍照3449.1.5 運行時動態授權管理3469.2 麥克風3499.2.1 拖動條SeekBar3499.2.2 音量控制3509.2.3 錄音與播音3529.2.4 錄像與放映3609.3 傳感器3629.3.1 傳感器的種類3629.3.2 搖一搖——加速度傳感器3649.3.3 指南針——磁場傳感器3659.3.4 計步器、感光器和陀螺儀3689.4 手機定位3709.4.1 開啟定位功能3719.4.2 獲取定位信息3739.5 短距離通信3789.5.1 NFC近場通信3789.5.2 紅外遙控3849.5.3 藍牙BlueTooth3889.6 實戰項目:仿微信的發現功能3959.6.1 設計思路3959.6.2 小知識:全球衛星導航繫統3979.6.3 代碼示例3999.7 小結4060章 網絡通信40710.1 多線程40710.1.1 消息傳遞Message40710.1.2 進度對話框ProgressDialog41110.1.3 異步任務AsyncTask41410.1.4 異步服務IntentService42010.2 HTTP接口訪問42310.2.1 網絡連接檢查42310.2.2 移動數據格式JSON42510.2.3 JSON串與實體類自動轉換42710.2.4 HTTP接口調用42810.2.5 HTTP圖片獲取43210.3 上傳和43410.3.1 管理器DownloadManager43510.3.2 文件對話框44110.3.3 文件上傳44210.4 套接字Socket44510.4.1 網絡地址InetAddress44510.4.2 Socket通信44610.5 實戰項目:仿應用寶的應用更新功能45110.5.1 設計思路45110.5.2 小知識:查看APK文件的包信息45210.5.3 代碼示例45410.6 實戰項目:仿手機QQ的聊天功能45710.6.1 設計思路45710.6.2 小知識:可折疊列表視圖ExpandableListView45910.6.3 代碼示例46410.7 小結4681章 事件46911.1 按鍵事件46911.1.1 檢測軟鍵盤46911.1.2 檢測物理按鍵47211.1.3 音量調節對話框47411.2 觸摸事件47911.2.1 手勢事件的分發流程47911.2.2 手勢事件處理MotionEvent48311.2.3 手寫簽名48611.3 手勢檢測48811.3.1 手勢檢測器GestureDetector48811.3.2 飛掠視圖ViewFlipper49111.3.3 手勢控制橫幅輪播49411.4 手勢衝突處理49811.4.1 上下滾動與左右滑動的衝突處理49811.4.2 內部滑動與翻頁滑動的衝突處理50111.4.3 正常下拉與下拉刷新的衝突處理50611.5 實戰項目:摳圖神器——美圖變變51011.5.1 設計思路51011.5.2 小知識:二維圖像的基本加工51111.5.3 代碼示例51211.6 實戰項目:虛擬現實的全景圖庫51411.6.1 設計思路51411.6.2 小知識:三維圖形接口OpenGL51611.6.3 代碼示例52911.7 小結5322章 動畫53412.1 幀動畫53412.1.1 幀動畫的實現53412.1.2 顯示GIF動畫53612.1.3 淡入淡出動畫53812.2 補間動畫53912.2.1 補間動畫的種類53912.2.2 補間動畫的原理54412.2.3 集合動畫54712.2.4 在飛掠橫幅中使用補間動畫54912.3 屬性動畫55112.3.1 屬性動畫的用法55112.3.2 屬性動畫組合55512.3.3 插值器和估值器55712.4 矢量動畫56112.4.1 矢量圖形56112.4.2 可縮放矢量圖形SVG標記56312.4.3 利用屬性動畫實現矢量動畫56512.4.4 仿支付寶的支付成功動畫56812.5 動畫的實現手段57212.5.1 使用延時重繪57212.5.2 設置狀態參數57412.5.3 滾動器Scroller57512.6 實戰項目:仿QQ空間的動感影集57712.6.1 設計思路57712.6.2 小知識:畫布的繪圖層次57812.6.3 代碼示例58312.7 小結5843章 多媒體58513.1 相冊58513.1.1 畫廊Gallery58513.1.2 圖像切換器ImageSwitcher58913.1.3 圖片查看器——青青相冊59213.2 音頻播放59613.2.1 鈴聲Ringtone59613.2.2 聲音池SoundPool59913.2.3 音軌錄播AudioTrack60213.3 視頻播放60513.3.1 視頻視圖VideoView60613.3.2 媒體控制條MediaController60913.3.3 自定義播放控制條61113.4 多窗口61313.4.1 分屏——多窗口模式61413.4.2 畫中畫——特殊的多窗口61713.4.3 自定義懸浮窗61913.4.4 截圖和錄屏62413.5 實戰項目:影視播放器——愛看劇場62613.5.1 設計思路62613.5.2 小知識:豎屏與橫屏切換62713.5.3 代碼示例63013.6 實戰項目:音樂播放器——浪花音樂63413.6.1 設計思路63413.6.2 小知識:可變字符串SpannableString63613.6.3 代碼示例63913.7 小結6444章 融合技術64614.1 網頁集成64614.1.1 資產管理器AssetManager64614.1.2 網頁視圖WebView64814.1.3 簡單瀏覽器65114.2 JNI開發65814.2.1 NDK環境搭建65814.2.2 創建JNI接口66114.2.3 JNI實現加解密66614.3 局域網共享66914.3.1 無線網絡管理器WifiManager67014.3.2 連接指定WiFi67114.3.3 開關熱點67214.3.4 點對點藍牙傳輸67414.4 實戰項目:共享經濟弄潮兒——WiFi共享器68314.4.1 設計思路68314.4.2 小知識:NetBIOS協議68414.4.3 代碼示例68814.5 實戰項目:筆墨飄香之電子書架69314.5.1 設計思路69314.5.2 小知識:PDF文件渲染器PdfRenderer69414.5.3 代碼示例69614.6 小結7015章 第三方開發包70215.1 地圖SDK70215.1.1 查看簽名信息70215.1.2 百度地圖70415.1.3 高德地圖71015.2 分享SDK71415.2.1 QQ分享71515.2.2 微信分享71615.3 支付SDK72115.3.1 支付寶支付72115.3.2 微信支付72315.4 語音SDK72415.4.1 文字轉語音TextToSpeech72415.4.2 語音識別72915.4.3 語音合成73315.5 實戰項目:仿滴滴打車73415.5.1 設計思路73415.5.2 小知識:評分條RatingBar73515.5.3 代碼示例73815.6 小結7396章 性能優化74116.1 布局文件優化74116.1.1 減少重復布局74116.1.2 自適應調整布局74416.1.3 自定義窗口主題74616.2 內存洩漏處理74816.2.1 內存洩漏的檢測74816.2.2 內存洩漏的發生74916.2.3 內存洩漏的預防75516.3 線程池管理75816.3.1 普通線程池75816.3.2 定時器線程池76016.4 省電模式76116.4.1 檢測當前電量76116.4.2 檢測屏幕開關76316.4.3 休眠模式對App的影響76516.5 實戰項目:網絡圖片緩存框架76816.5.1 設計思路76816.5.2 小知識:LRU緩存策略76916.5.3 代碼示例77216.6 小結780附錄781附錄一 仿流行App的常用功能781附錄二 Android各版本的新增功能說明782附錄三 手機硬件與App開發的關聯784附錄四 專業術語索引785
內容簡介
本書是一部Android開發的實戰教程,由淺入深、由基礎到不錯,帶領讀者一步一步走進App開發的神奇世界。全書共分為16章。其中,前8章是基礎部分,主要講解Android Studio的環境搭建、App開發的各種常用控件、App的數據存儲方式、如何調試App並將App發布上線;後8章是進階部分,主要講解App開發的設備操作、網絡通信、事件、動畫、多媒體、融合技術、第三方開發包、性能優化等。書中在講解知識點的同時給出了大量實戰範例,方便讀者迅速將所學的知識運用到實際開發中。通過本書的學習,讀者能夠掌握3類主流App的基本開發技術,包括購物App(電子商務)、聊天App(即時通信)、打車App(交通出行)。另外,能夠學會開發一些趣味應用,包括簡單計算器、房貸計算器、萬年歷、日程表、手機安全助手、指南針、衛星渾天儀、應用超市、摳圖工具、全景圖庫、動感影集、影視播放器、音樂播放器、WiFi共享器、......