Android炫酷應用300例.實戰篇 ( 簡體 字) |
作者:羅帥、羅斌 | 類別:1. -> 程式設計 -> 手機程式 -> Android |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 51277 詢問書籍請說出此書號!【缺書】 NT售價: 500 元 |
出版日:7/1/2019 |
頁數:460 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302526278 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:Android是一個以Linux為基礎的半開源操作系統,主要用于管理手機、手表、眼鏡、電視等智能設備。Android操作系統最初由Andy Rubin開發,2005年8月由Google收購注資。2007年11月,Google與84家硬件制造商、軟件開發商及電信營運商組建開放手機聯盟,共同研發改進Android操作系統。第一部Android智能手機發布于2008年10月,在隨后幾年中,Android開始了迅猛發展的歷程,并成為全球最主要的移動端操作系統。 隨著支持Android操作系統的智能設備的不斷普及和推廣,運行在Android操作系統上的智能應用項目也如雨后春筍般涌現。從IT發展潮流來看,越來越豐富的移動應用是大勢所趨,手機支付、手機拍照、手機游戲、手機導航、物聯網等不斷改變著人們的生活方式和工作方式。一種優秀的Android應用即可造就一家IT公司、打造一個產業鏈、誕生十個富豪,這已不再是神話。如何將最新的技術、理念和創意融入到應用開發中,是每個Android程序員需要不斷思考的問題,也是本書創作的初衷。 本書以“問題描述+解決方案”的模式,以Android 5.0為核心例舉了300個實用性極強的移動端應用開發案例,旨在幫助廣大讀者快速解決實際開發過程中面臨的諸多問題,從而不斷提高開發效率、拓展應用領域。全書根據實例功能將內容分為UI布局、常用控件、文字、圖形和圖像、動畫、音頻和視頻、文件和數據、系統和設備、第三方SDK開發等9章,以所見即所得、所學即所用的速成思維方式展示了個性化布局、特效文字和圖形、矢量圖形動態繪制、顏色矩陣特效、PorterDuff特效、路徑特效、場景過渡、三維空間旋轉、圖像輪播、頭像裁剪、網格圖像動畫、旋轉3D地球、各種傳感器應用、網絡文件斷點續傳等超炫超酷實例的實現過程和代碼。使用第三方SDK進行應用開發,如使用騰訊SDK實現將文本、圖像、音樂、視頻等分享到QQ好友及微信朋友圈等; 使用百度SDK實現查詢駕車和步行線路、查詢指定城市的熱力圖、調用百度地圖的導航功能、以俯視角度觀察街道三維圖、在百度地圖上添加懸浮框和動畫等; 使用新浪SDK實現將圖像發布到微博、根據微博簡介內容生成二維碼等。 本書所有實例均基于Android 5.0,在Android Studio 2.2集成開發環境中使用Java和XML語言編寫,因此測試手機或模擬器的Android版本不能低于5.0。部分實例在模擬器上無法測試,建議在學習時使用屏幕分辨率為1920×1080像素,操作系統為Android 5.0及其以上版本的手機作為主要測試工具。 全書所有內容和思想并非一人之力所能及,而是凝聚了眾多熱心人士的智慧并經過充分的提煉和總結而成,在此對他們表示崇高的敬意和衷心的感謝!本書編寫人員包括羅帥、羅斌、汪明云、曹勇、陳寧、鄧承惠、鄧小渝、范剛強、何守碧、洪亮、洪沛林、江素芳、藍洋、雷國忠、雷惠、雷玲、雷平、雷治英、劉恭德、劉興紅、羅聃、唐靜、唐興忠、童縉嘉、汪蘭、王彬、王伯芳、王年素、王正建、吳多、吳詩華、楊開平、楊琴、易伶、張志紅、鄭少文等,書稿由羅斌完成統稿。由于時間關系和作者水平原因,少量內容可能存在認識不全面或有偏頗的問題,以及一些疏漏和不當之處,敬請讀者批評指正。 讀者可將購書憑證發送至郵箱,索取本書源代碼。 羅帥羅斌2019年于重慶渝北 |
內容簡介:本書以“問題描述+解決方案”的模式,以Android 5.0為核心例舉了300個實用性極強的移動端應用開發案例,旨在幫助廣大讀者快速解決實際開發過程中面臨的諸多問題,從而不斷提高開發效率、拓展應用領域。全書根據實例功能將內容分為UI布局、常用控件、文字、圖形和圖像、動畫、音頻和視頻、文件和數據、系統和設備、第三方SDK開發等9章,以所見即所得、所學即所用的速成思維方式展示了個性化布局、特效文字和圖形、矢量圖形動態繪制、顏色矩陣特效、PorterDuff特效、路徑特效、場景過渡、三維空間旋轉、圖像輪播、頭像裁剪、網格圖像動畫、旋轉3D地球、各種傳感器應用、網絡文件斷點續傳等超炫超酷實例的實現過程和代碼。使用第三方SDK進行應用開發,如使用騰訊SDK實現將文本、圖像、音樂、視頻等分享到QQ好友及微信朋友圈等; 使用百度SDK實現查詢駕車和步行線路、查詢指定城市的熱力圖、調用百度地圖的導航功能、以俯視角度觀察街道三維圖、在百度地圖上添加懸浮框和動畫等; 使用新浪SDK實現將圖像發布到微博、根據微博簡介內容生成二維碼等。 為了突出實用性和簡潔性,本書在演示或描述實例時,力求有針對性地解決問題,所有實例均配有插圖。本書適于作為Android應用開發人員的案頭參考書,無論是編程初學者,還是編程高手,本書都極具參考價值和收藏價值。 |
目錄:第1章UI布局 001使用純Java代碼創建應用UI界面 002使用自定義View代替布局文件 003使用TableLayout布局多個輸入框 004使用TextInputLayout管理輸入框提示 005使用GridLayout創建計算器按鍵布局 006使用RelativeLayout按照相鄰關系布局 007使用ConstraintLayout在右下角布局 008使用TableLayout拉伸控件填充容器 009使用TableLayout縮小控件適應容器 010使用LinearLayout縱向居中對齊控件 011使用LinearLayout按權重分配控件空間 012使用ConstraintLayout平分剩余空間 013使用ConstraintLayout無間隙布局控件 014使用TabLayout和適配器創建選項卡 015使用TabLayout和Fragment創建選項卡 016使用FrameLayout創建縱向選項卡 017使用TabHost創建橫向選項卡 018使用AbsoluteLayout實現平移控件 019使用FrameLayout實現閃爍控件 020自定義FrameLayout創建翻頁卷邊動畫 第2章常用控件 021在TextView中創建空心文字 022在TextView中實現上文下圖的布局 023在TextView中為文本添加超鏈接 024在自定義View中實現垂直滾動文本 025在EditText中指定輸入法的數字軟鍵盤 026禁止在EditText中插入非字符表情符號 027使用AutoCompleteTextView實現自動提示 028使用SearchView和ListView實現過濾輸入 029在EditText右端設置輸入提示內容和圖標 030通過自定義Shape創建不同的圓角按鈕 031通過設置背景圖像創建立體的質感按鈕 032使用FloatingActionButton創建懸浮按鈕 033以全屏效果顯示在ImageView中的圖像 034在自定義ImageView中顯示圓形圖像 035使用單指滑動拖曳ImageView的圖像 036使用Gallery實現滑動瀏覽多幅圖像 037使用SwipeRefreshLayout切換圖像 038使用AdapterViewFlipper自動播放圖像 039使用兩幅圖像定制ToggleButton開關狀態 040使用GridView創建網格顯示多幅圖像 041使用ViewPager實現縮放輪播多幅圖像 042使用Handler實現自動輪播ViewPager 043使用ViewPager實現蘋果風格的coverflow 044使用RecyclerView創建水平瀑布流圖像 045以網格或列表顯示RecyclerView列表項 046使用RecyclerView仿表情包插入輸入框 047使用CardView顯示RecyclerView列表項 048在ListView中創建圖文結合列表項 049使用ListPopupWindow實現下拉選擇 050使用Elevation創建陰影擴散的控件 051在單擊CheckBox時顯示波紋擴散效果 052使用自定義形狀定制Switch開關狀態 053自定義selector以漸變前景切換控件 054使用ViewSwitcher平滑切換兩個View 055使用SlidingDrawer實現抽屜式滑動 056自定義ScrollView實現下拉回彈動畫 057使用CollapsingToolbarLayout實現滾動折疊 058使用BottomNavigationView實現底部導航 059在ProgressBar上同時顯示兩種進度 060使用ViewOutlineProvider創建圓角控件 061使用AnalogClock創建自定義時鐘 062在TextClock中定制日期格式 063使用RatingBar實現星級評分 064在登錄窗口中使用SeekBar實現手動校驗 第3章文字 065使用ScaleXSpan創建扁平風格的文字 066使用MaskFilterSpan實現文字邊緣模糊 067使用MaskFilterSpan實現文字中心鏤空 068使用MaskFilterSpan實現文字整體模糊 069使用MaskFilterSpan模糊多個字符串 070使用BulletSpan在文本首字前添加小圓點 071使用StrikethroughSpan添加文字刪除線 072使用URLSpan為部分內容添加超鏈接 073使用ImageSpan同時顯示QQ表情和文字 074使用StyleSpan實現以粗斜體顯示文字 075使用SuperscriptSpan繪制勾股定理公式 076使用SubscriptSpan繪制硫酸亞鐵分子式 077使用TypefaceSpan定制文本的部分內容 078使用ForegroundColorSpan創建光照文字 079使用BlurMaskFilter創建陰影擴散文字 080使用EmbossMaskFilter創建浮雕文字 081通過自定義View在半圓弧上繪制文字 082通過自定義View在圓弧上滾動文字 083通過自定義View繪制漸變色的文字 084通過自定義View繪制線條描邊文字 085通過自定義View繪制陰影擴散文字 086加載字庫文件顯示自定義草書字體 087加載字庫文件顯示自定義液晶字體 088判斷在一個字符串中是否包含漢字 第4章圖形和圖像 089在自定義View中繪制徑向漸變的圖形 090在自定義View中實現圖像波紋起伏效果 091在自定義View中使用橢圓裁剪圖像 092通過PorterDuff模式增暗顯示兩幅圖像 093通過PorterDuff模式將圖像裁剪成五角星 094通過PorterDuff模式改變tint屬性疊加效果 095使用Region的DIFFERENCE實現摳圖功能 096使用ShapeDrawable裁剪三角形圖像 097使用ClipDrawable裁剪圖像實現星級評分 098使用自定義Drawable實現對圖像進行圓角 099使用Matrix實現按照指定方向傾斜圖像 100使用ColorMatrix為圖像添加泛紫效果 101使用ColorMatrix實現圖像的加暗效果 102通過自定義ColorMatrix調整圖像藍色色調 103使用RenderScript實現高斯算法模糊圖像 104使用拉普拉斯模板實現圖像的銳化特效 105通過像素操作實現在圖像上添加光照效果 106通過像素操作使彩色圖像呈現浮雕特效 107使用BitmapShader實現文字線條圖像化 108使用BlurMaskFilter為圖像添加輪廓線 109使用PathDashPathEffect實現橢圓線條 110使用SumPathEffect疊加多種路徑特效 111通過BitmapShader實現以圖像填充橢圓 112使用ComposeShader創建漸變圖像 113使用ImageView顯示XML實現的矢量圖形 114使用BitmapFactory壓縮圖像的大小 115在自定義類中使用Movie顯示動態圖像 116通過使用圖像作為畫布創建帶水印圖像 117通過操作根布局實現將屏幕內容保存為圖像 118通過手勢變化實現平移旋轉縮放圖像 119使用ThumbnailUtils提取大圖像的縮略圖 120通過采用取模的方式實現輪流顯示多幅圖像 第5章動畫 121使用ObjectAnimator創建上下振動動畫 122使用ObjectAnimator實現沿弧線路徑平移 123使用ObjectAnimator滾動顯示多幅圖像 124使用ObjectAnimator實現圖形數字形變 125使用ObjectAnimator改變圖像的色相值 126使用AnimatorSet組合多個ObjectAnimator 127使用TypeEvaluator實現顏色過渡動畫 128通過trimPathEnd實現動態生成手指圖形 129使用ValueAnimator動態改變扇形轉角 130使用ValueAnimator實現分段轉圈動畫 131使用ValueAnimator在三維Z軸上平移圖像 132使用ValueAnimator實現起飛轉平飛動畫 133自定義TypeEvaluator以GIF動畫顯示圖像 134使用Animation實現圖像圍繞自身中心旋轉 135自定義Animation實現旋轉切換撲克牌正反面 136使用AnimationSet實現組合多個不同的動畫 137使用Animation實現按照順序顯示網格Item 138使用windowAnimations實現縮放對話框窗口 139使用AnimationDrawable播放多幅圖像 140使用AnimationDrawable創建爆炸動畫 141使用RotateAnimation實現圍繞自身中心旋轉 142使用AlphaAnimation創建淡入淡出動畫 143使用ScaleAnimation創建縮放圖像動畫 144在ViewPager中實現上下滑動的轉場動畫 145通過下拉手指實現兩個Activity的相互切換 146在應用啟動時使用進場動畫啟動Activity 147以左入右出的動畫效果切換兩個Activity 148以收縮擴張的動畫效果切換兩個Activity 149使用轉場動畫Explode切換兩個Activity 150使用轉場動畫Slide切換兩個Activity 151以指定位置的轉場動畫切換兩個Activity 152在切換Activity時疊加縮放動畫和轉場動畫 153在切換Activity的轉場動畫中共享多對元素 154使用FragmentTransaction自定義轉場動畫 155使用TransitionManager實現上下滑動動畫 156使用TransitionManager實現圍繞Y軸旋轉 157使用TransitionManager實現Fade動畫效果 158使用TransitionManager組合多個不同動畫 159使用TransitionManager實現單布局過渡動畫 160使用TransitionManager實現平移過渡動畫 161使用TransitionManager實現縮放部分圖像 162使用TransitionManager實現矢量路徑動畫 163使用TransitionManager同時實現多種動畫 164使用TransitionManager實現XML定制動畫 165使用TransitionManager指定控件執行動畫 166使用TransitionManager實現列表項滑入動畫 167使用TransitionManager實現弧線路徑動畫 168使用TransitionManager實現裁剪區域動畫 169通過設置和獲取控件的Tag確定動畫過渡行為 170在TransitionSet中指定多個動畫的執行順序 171使用TransitionDrawable透明切換兩幅圖像 172使用AnimatedVectorDrawable實現轉圈動畫 173創建AnimatedVectorDrawableCompat動畫 174使用ViewPropertyAnimator創建多個動畫 175自定義selector實現以動畫形式改變陰影大小 176使用ripple標簽創建中心波紋擴散動畫 177使用GLSurfaceView實現3D地球的自轉 第6章音頻和視頻 178使用MediaPlayer播放本地mp3音樂文件 179使用MediaPlayer播放本地mp4視頻文件 180使用MediaPlayer播放指定網址的音樂文件 181使用滑塊同步MediaPlayer播放音頻的進度 182使用滑塊同步MediaPlayer播放視頻的進度 183使用MediaController創建視頻播放控制欄 184使用MediaMetadataRetriever實現視頻截圖 185使用MediaMetadataRetriever獲取視頻縮略圖 186使用VideoView播放本地mp4視頻文件 187使用VideoView播放指定網址的視頻文件 188使用MediaRecorder錄制音頻文件 189使用RemoteViews在通知欄上創建播放器 190在使用SurfaceView播放視頻時實現橫屏顯示 191在選擇音樂曲目窗口中選擇音樂文件并播放 192在RecyclerView中加載音樂文件并播放 193依次播放在RecyclerView中的音樂文件 194在ListView上加載手機外存的音樂文件 195使用SoundPool播放較短的聲音片段 196使用AudioManager增大或減小音量 197使用AudioManager播放系統預置的聲音 198使用AudioManager獲取和設置鈴聲模式 第7章文件和數據 199使用JSONObject解析JSON字符串 200使用JSONArray解析JSON字符串 201使用JSONTokener解析JSON字符串 202使用JsonReader解析JSON字符串 203使用JSONStringer創建JSON字符串 204使用JSONObject根據IP顯示所在城市 205使用Gson將數組轉換成JSON字符串 206使用Gson解析JSON字符串 207使用XmlPullParser解析城市天氣數據 208采用SAX方式解析XML文件內容 209使用Pattern根據正則表達式校驗手機號碼 210使用SharedPreferences保存賬戶和密碼 211使用ListPreference讀寫單選按鈕值 212在代碼中獲取CheckBoxPreference值 213通過PreferenceScreen跳轉到Wifi設置 214使用Intent實現在Activity之間傳遞小圖像 215使用Intent在Activity之間傳遞圖像和文本 216使用Intent在Activity之間傳遞集合數據 217在Intent傳遞數據時使用Bundle攜帶數組 218使用Intent在Service和Activity之間傳遞數據 219使用FileInputStream和FileOutputStream讀取和保存文本文件 220將浮雕風格的特效文字保存為圖像文件 221在SD卡上將Bitmap保存為PNG圖像文件 222從手機相冊中選擇圖像文件并裁剪頭像 223在ListView上加載手機外存的圖像文件 224使用DownloadManager下載網絡文件 225使用RandomAccessFile實現斷點續傳下載 226使用HttpURLConnection下載圖像文件 第8章系統和設備 227使用QuickContactBadge訪問聯系人 228使用ContentProviderOperation增加聯系人 229使用ContentProviderOperation修改聯系人 230使用ContentProviderOperation刪除聯系人 231使用ContentResolver檢測飛行模式的狀態 232使用ContentResolver檢測手機的時間格式 233使用ContentResolver獲取所有短信 234使用ContentResolver獲取通話記錄 235使用ContentResolver獲取SD卡的文件 236使用ContentResolver改變屏幕亮度值 237使用ContentResolver設置屏幕亮度值 238使用ContentResolver檢測旋轉屏幕功能 239使用BroadcastReceiver監聽來電電話號碼 240使用BroadcastReceiver判斷手機電池是否正在充電 241使用BroadcastReceiver監聽屏幕開啟或關閉 242自定義BroadcastReceiver實現短信攔截 243使用RingtoneManager設置手機鬧鐘鈴聲 244使用RingtoneManager設置手機通知鈴聲 245使用AlarmManager以指定時間執行操作 246使用AudioManager獲取和設置音量 247使用PowerManager實現屏幕一直亮著 248使用WallpaperManager設置壁紙 249使用PackageManager獲取支持分享的應用 250使用WifiManager開啟或關閉WiFi信號 251使用WifiManager獲取IP地址 252使用ConnectivityManager判斷網絡狀態 253使用BluetoothAdapter打開或關閉藍牙 254使用LocationListener獲取當前經緯度值 255使用SensorManager獲取傳感器信息 256使用傳感器監測耳朵與手機聽筒的距離 257使用加速度傳感器監聽手機的三維變化 258通過傳感器實現自動進行橫屏和豎屏切換 259使用setRequestedOrientation()實現橫屏 260根據手機是橫屏或是豎屏進行控件布局 261使用FLAG_FULLSCREEN標志實現全屏顯示 262使用Display獲取屏幕寬度和高度 263使用StatFs獲取內部總空間和可用空間大小 264使用GestureDetector實現縱向滑動切換 265自定義手機振動器(Vibrator)的振動模式 266使用SurfaceView實現照相機的預覽功能 267使用Camera實現縮小和放大預覽畫面 268使用Camera實現預覽時攝像頭手動對焦 269從相冊中選擇圖像并設置為手機壁紙 270使用Runnable間隔執行重復的任務 271使用Timer實現促銷活動的倒計時功能 272使用Runtime執行系統命令靜默安裝應用包 第9章第三方SDK開發 273使用騰訊SDK獲取授權QQ賬戶的簡介 274使用騰訊SDK實現以第三方登錄QQ賬戶 275使用騰訊SDK將指定文本分享給QQ好友 276使用騰訊SDK將本地圖像發表到QQ空間 277使用微信SDK將視頻鏈接分享給微信好友 278使用微信SDK將音樂鏈接分享到朋友圈 279使用百度SDK根據起點和終點規劃步行線路 280使用百度SDK實現將駕車線路分享給好友 281使用百度SDK調用百度地圖App的駕車導航 282使用百度SDK調用百度地圖App的POI檢索 283使用百度SDK實現在地圖中定位手機位置 284使用百度SDK獲取在地圖上點擊位置的地名 285使用百度SDK在地圖的城市之間繪制連線 286使用百度SDK在地圖上添加圖文懸浮框 287使用百度SDK在地圖上添加淡入動畫 288使用百度SDK在地圖上添加彈跳型動畫 289使用百度SDK在地圖上查詢指定城市興趣點 290使用百度SDK在地圖上為行政區添加邊界線 291使用百度SDK在地圖指定范圍添加圓角矩形 292使用百度SDK查詢指定地點的熱力圖 293使用百度SDK實現隱藏或顯示地名標注信息 294使用百度SDK實現以俯視角觀察街道三維圖 295使用百度SDK實現根據經緯度計算兩地距離 296使用新浪SDK實現跳轉到微博主頁 297使用新浪SDK獲取授權微博賬戶的簡介 298使用新浪SDK將微博賬戶簡介生成二維碼 299使用新浪SDK實現搜索指定關鍵字的微博 300使用新浪SDK實現發布圖像至微博 |
序: |