失效链接处理 |
第一行代码 Android 第3版 郭霖 PDF 下载
下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/1599932985.html
相关截图: 资料简介: 本书被Android开发者誉为“Android学习 书”。全书系统全面、循序渐进地介绍了Android软件开发的 知识、经验和技巧。 本书基于Android 10.0对第2版进行了全面 新,不仅将所有知识点都在Android 10.0系统上进行了重新适配,同时加入Kotlin语言的全面讲解,使用Kotlin对全书代码进行重写,而且还介绍了 系统特性以及Jetpack架构组件的使用,使本书 加实用。 本书内容通俗易懂,由浅入深,既是Android初学者的入门 ,也是Android开发者的进阶 。 资料目录: 第1章开始启程——你的第一行Android代码1 1.1了解全貌,Android王国简介2 1.1.1Android系统架构2 1.1.2Android已发布的版本3 1.1.3Android应用开发特色4 1.2手把手带你搭建开发环境5 1.2.1准备所需要的工具5 1.2.2搭建开发环境5 1.3创建你的第一个Android项目9 1.3.1创建HelloWorld项目9 1.3.2启动模拟器11 1.3.3运行HelloWorld14 1.3.4分析你的第一个Android程序15 1.3.5详解项目中的资源20 1.3.6详解build.gradle文件22 1.4前行推荐:掌握日志工具的使用25 1.4.1使用Android的日志工具Log25 1.4.2为什么使用Log而不使用println()26 1.5小结与点评28 第2章探究新语言,快速入门Kotlin编程30 2.1Kotlin语言简介31 2.2如何运行Kotlin代码32 2.3编程之本:变量和函数35 2.3.1变量35 2.3.2函数37 2.4程序的逻辑控制41 2.4.1if条件语句41 2.4.2when条件语句42 2.4.3循环语句45 2.5面向对象编程48 2.5.1类与对象49 2.5.2继承与构造函数50 2.5.3接口55 2.5.4数据类与单例类58 2.6Lambda编程61 2.6.1集合的创建与遍历61 2.6.2集合的函数式API65 2.6.3Java函数式API的使用69 2.7空指针检查71 2.7.1可空类型系统72 2.7.2判空辅助工具73 2.8Kotlin中的小魔术77 2.8.1字符串内嵌表达式77 2.8.2函数的参数默认值78 2.9小结与点评81 第3章先从看得到的入手,探究Activity82 3.1Activity是什么82 3.2Activity的基本用法82 3.2.1手动创建Activity83 3.2.2创建和加载布局85 3.2.3在AndroidManifest文件中注册88 3.2.4在Activity中使用Toast90 3.2.5在Activity中使用Menu92 3.2.6销毁一个Activity96 3.3使用Intent在Activity之间穿梭96 3.3.1使用显式Intent96 3.3.2使用隐式Intent99 3.3.3更多隐式Intent的用法101 3.3.4向下一个Activity传递数据105 3.3.5返回数据给上一个Activity106 3.4Activity的生命周期108 3.4.1返回栈108 3.4.2Activity状态109 3.4.3Activity的生存期110 3.4.4体验Activity的生命周期111 3.4.5Activity被回收了怎么办117 3.5Activity的启动模式118 3.5.1standard119 3.5.2single靠前20 3.5.3singleTask122 3.5.4singleInstance123 3.6Activity的很好实践126 3.6.1知晓当前是在哪一个Activity126 3.6.2随时随地退出程序127 3.6.3启动Activity的很好写法129 3.7Kotlin课堂:标准函数和静态方法130 3.7.1标准函数with、run和apply130 3.7.2定义静态方法133 3.8小结与点评137 第4章软件也要拼脸蛋,UI开发的点点滴滴138 4.1该如何编写程序界面138 4.2常用控件的使用方法139 4.2.1TextView139 4.2.2Button142 4.2.3EditText144 4.2.4ImageView149 4.2.5ProgressBar151 4.2.6AlertDialog154 4.3详解3种基本布局156 4.3.1LinearLayout156 4.3.2RelativeLayout163 4.3.3FrameLayout166 4.4系统控件不够用?创建自定义控件169 4.4.1引入布局169 4.4.2创建自定义控件172 4.5最常用和最难用的控件:ListView174 4.5.1ListView的简单用法174 4.5.2定制ListView的界面176 4.5.3提升ListView的运行效率179 4.5.4ListView的点击事件180 4.6更强大的滚动控件:RecyclerView182 4.6.1RecyclerView的基本用法183 4.6.2实现横向滚动和瀑布流布局186 4.6.3RecyclerView的点击事件191 4.7编写界面的很好实践193 4.7.1制作9-Patch图片193 4.7.2编写精美的聊天界面196 4.8Kotlin课堂:延迟初始化和密封类201 4.8.1对变量延迟初始化201 4.8.2使用密封类优化代码204 4.9小结与点评206 第5章手机平板要兼顾,探究Fragment207 5.1Fragment是什么207 5.2Fragment的使用方式209 5.2.1Fragment的简单用法210 5.2.2动态添加Fragment212 5.2.3在Fragment中实现返回栈215 5.2.4Fragment和Activity之间的交互216 5.3Fragment的生命周期217 5.3.1Fragment的状态和回调217 5.3.2体验Fragment的生命周期219 5.4动态加载布局的技巧221 5.4.1使用限定符221 5.4.2使用最小宽度限定符224 5.5Fragment的很好实践:一个简易版的新闻应用225 5.6Kotlin课堂:扩展函数和运算符重载234 5.6.1大有用途的扩展函数234 5.6.2有趣的运算符重载236 5.7小结与点评240 第6章全局大喇叭,详解广播机制242 6.1广播机制简介242 6.2接收系统广播243 6.2.1动态注册监听时间变化243 6.2.2静态注册实现开机启动245 6.3发送自定义广播249 6.3.1发送标准广播249 6.3.2发送有序广播252 6.4广播的很好实践:实现强制下线功能255 6.5Kotlin课堂:高阶函数详解261 6.5.1定义高阶函数261 6.5.2内联函数的作用265 6.5.3noinline与crossinline268 6.6Git时间:初识版本控制工具271 6.6.1安装Git271 6.6.2创建代码仓库272 6.6.3提交本地代码274 6.7小结与点评274 第7章数据存储全方案,详解持久化技术275 7.1持久化技术简介275 7.2文件存储276 7.2.1将数据存储到文件中276 7.2.2从文件中读取数据279 7.3SharedPreferences存储281 7.3.1将数据存储到SharedPre-ferences中282 7.3.2从SharedPreferences中读取数据284 7.3.3实现记住密码功能285 7.4SQLite数据库存储288 7.4.1创建数据库289 7.4.2升级数据库295 7.4.3添加数据297 7.4.4更新数据300 7.4.5删除数据302 7.4.6查询数据304 7.4.7使用SQL操作数据库307 7.5SQLite数据库的很好实践307 7.5.1使用事务308 7.5.2升级数据库的很好写法309 7.6Kotlin课堂:高阶函数的应用312 7.6.1简化SharedPreferences的用法312 7.6.2简化ContentValues的用法314 7.7小结与点评317 第8章跨程序共享数据,探究ContentProvider318 8.1ContentProvider简介318 8.2运行时权限319 8.2.1Android权限机制详解319 8.2.2在程序运行时申请权限322 8.3访问其他程序中的数据326 8.3.1ContentResolver的基本用法326 8.3.2读取系统联系人329 8.4创建自己的ContentProvider332 8.4.1创建ContentProvider的步骤332 8.4.2实现跨程序数据共享336 8.5Kotlin课堂:泛型和委托345 8.5.1泛型的基本用法345 8.5.2类委托和委托属性347 8.5.3实现一个自己的lazy函数350 8.6小结与点评352 第9章丰富你的程序,运用手机多媒体353 9.1将程序运行到手机上353 9.2使用通知355 9.2.1创建通知渠道355 9.2.2通知的基本用法357 9.2.3通知的进阶技巧362 9.3调用摄像头和相册367 9.3.1调用摄像头拍照367 9.3.2从相册中选择图片371 9.4播放多媒体文件374 9.4.1播放音频374 9.4.2播放视频377 9.5Kotlin课堂:使用infix函数构建更可读的语法381 9.6Git时间:版本控制工具进阶383 9.6.1忽略文件384 9.6.2查看修改内容385 9.6.3撤销未提交的修改387 9.6.4查看提交记录388 9.7小结与点评389 第10章后台默默的劳动者,探究Service390 10.1Service是什么390 10.2Android多线程编程391 10.2.1线程的基本用法391 10.2.2在子线程中更新UI392 10.2.3解析异步消息处理机制395 10.2.4使用AsyncTask396 10.3Service的基本用法399 10.3.1定义一个Service399 10.3.2启动和停止Service401 10.3.3Activity和Service进行通信404 10.4Service的生命周期408 10.5Service的更多技巧408 10.5.1使用前台Service409 10.5.2使用IntentService411 10.6Kotlin课堂:泛型的高级特性415 10.6.1对泛型进行实化415 10.6.2泛型实化的应用417 10.6.3泛型的协变418 10.6.3泛型的逆变422 10.7小结与点评425 第11章看看精彩的世界,使用网络技术427 11.1WebView的用法427 11.2使用HTTP访问网络429 11.2.1使用HttpURLConnection430 11.2.2使用OkHttp433 11.3解析XML格式数据436 11.3.1Pull解析方式438 11.3.2SAX解析方式441 11.4解析JSON格式数据444 11.4.1使用JSONObject445 11.4.2使用GSON446 11.5网络请求回调的实现方式448 11.6优选用的网络库:Retrofit451 11.6.1Retrofit的基本用法452 11.6.2处理复杂的接口地址类型456 11.6.3Retrofit构建器的很好写法459 11.7Kotlin课堂:使用协程编写高效的并发程序461 11.7.1协程的基本用法461 11.7.2更多的作用域构建器467 11.7.3使用协程简化回调的写法471 11.8小结与点评474 第12章很好的UI体验,Material Design实战475 12.1什么是Material Design475 12.2Toolbar476 12.3滑动菜单483 12.3.1DrawerLayout483 12.3.2NavigationView486 12.4悬浮按钮和可交互提示491 12.4.1FloatingActionButton491 12.4.2Snackbar494 12.4.3CoordinatorLayout496 12.5卡片式布局498 12.5.1MaterialCardView498 12.5.2AppBarLayout504 12.6下拉刷新507 12.7可折叠式标题栏510 12.7.1CollapsingToolbarLayout510 12.7.2充分利用系统状态栏空间519 12.8Kotlin课堂:编写好用的工具方法522 12.8.1求N个数的优选最小值522 12.8.2简化Toast的用法524 12.8.3简化Snackbar的用法526 12.9Git时间:版本控制工具的高级用法528 12.9.1分支的用法528 12.9.2与远程版本库协作530 12.10小结与点评532 第13章高级程序开发组件,探究Jetpack533 13.1Jetpack简介533 13.2ViewModel534 13.2.1ViewModel的基本用法536 13.2.2向ViewModel传递参数539 13.3Lifecycles541 13.4LiveData545 13.4.1LiveData的基本用法545 13.4.2map和switchMap549 13.5Room554 13.5.1使用Room进行増删改查555 13.5.2Room的数据库升级562 13.6WorkManager565 13.6.1WorkManager的基本用法566 13.6.2使用WorkManager处理复杂的任务568 13.7Kotlin课堂:使用DSL构建专有的语法结构571 13.8小结与点评577 第14章继续进阶,你还应该掌握的高级技巧579 14.1全局获取Context的技巧579 14.2使用Intent传递对象582 14.2.1Serializable方式582 14.2.2Parcelable方式583 14.3定制自己的日志工具584 14.4调试Android程序586 14.5深色主题589 14.6Kotlin课堂:Java与Kotlin代码之间的转换596 14.7总结600 第15章进入实战,开发一个天气预报App601 15.1功能需求及技术可行性分析601 15.2Git时间:将代码托管到GitHub上605 15.3搭建MVVM项目架构612 15.4搜索全球城市数据615 15.4.1实现逻辑层代码615 15.4.2实现UI层代码620 15.5显示天气信息626 15.5.1实现逻辑层代码626 15.5.2实现UI层代码631 15.5.3记录选中的城市645 15.6手动刷新天气和切换城市647 15.6.1手动刷新天气648 15.6.2切换城市650 15.7制作App的图标654 15.8生成正式签名的APK文件659 15.8.1使用Android Studio生成660 15.8.2使用Gradle生成663 15.9你还可以做的事情666 第16章编写并发布一个开源库,PermissionX669 16.1开发前的准备工作669 16.2实现PermissionX开源库673 16.3对开源库进行测试678 16.4将开源库发布到jcenter仓库681 16.5体验我们的成果688 16.6结束语691 |