图书简介

本书以“问题描述+解决方案”的模式,以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实现苹果风格的cover flow

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实现发布图像至微博
(展开)

书页展示

更多图书信息

作者:罗帅、罗斌
出版:清华大学出版社

ISBN:9787302526278

出版日期:2019-07-01

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。作为来自一流大学的出版单位,清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。目前,清华版教材已在全国一百多所院校得到广泛使用。高品质、多层次的计算机图书是清华大学出版社的一大品牌支柱。20世纪80年代末,在席卷全球的信息化浪潮中,清华大学出版社快速切入计算机图书市场,逐渐成为并一直保持这一市场的领先地位,为发展中国计算机教育做出了巨大贡献。

(展开)
Copyright ©2019  文泉书局  |  京ICP证151049号   |  关于我们   |  联系我们   |  版权声明