标签分类
当前位置:首页 > 移动开发电子书 > Android开发电子书网盘下载
Android进阶之光 Android进阶之光
yaya_424

yaya_424 提供上传

资源
27
粉丝
24
喜欢
166
评论
2

    Android进阶之光 PDF 高质量版

    Android开发电子书
    • 发布时间:

    给大家带来的一篇关于Android开发相关的电子书资源,介绍了关于Android、进阶方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小12.9MB,刘望舒编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.2,更多相关的学习资源可以参阅 移动开发电子书、等栏目。

  • Android进阶之光 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1vrvfYh1hPyY7lOelJmPu8w
  • 分享码:23h1
  • Android进阶之光 PDF

    1 业内著名权威专家邓凡平、张鸿洋、徐宜生、陈国华、李文东联手力荐
    2 《Android进阶之光》根据Android 7.0和Android Studio,对Android开发设计升阶关键点开展深层次解读,为技术工程师的升阶之途产生引导和光辉。
    3 《Android进阶之光》是现阶段销售市场上详解相关Android新特点、Material Design、互联网架构、恶性事件系统总线、RxJava、依赖注入架构和运用架构模式的罕见的书籍。

    这书是1本Android升阶的书籍,书中各知识结构图循序渐进、一环扣一环,*终这种知识结构图产生了1个系统架构。这书共分成11章。第1章详细介绍Android 5.0到Android 7.0的新特点。第2章详细介绍Material Design。第3章详细介绍View管理体系,包含View的恶性事件派发、工作内容、自定View等知识结构图。第4章详细介绍多核的专业知识。第5章详细介绍网络编程与互联网架构的专业知识。第6章详细介绍常见的策略模式。第7章详细介绍恶性事件系统总线。第8到第10章详细介绍架构模式所必须的知识结构图。第11章简易详细介绍Android系统软件架构与MediaPlayer架构。这书详尽并深层次解读Android开发人员必需的和最前沿的专业知识,合适有必须开发设计基本的开发人员阅读文章,这有利于她们提升技术实力;另外,这书系统软件的专业知识系统架构也令高級开发人员从这当中获利甚多。

    目录

    • 第1章 Android新特性 1
    • 1.1 Android 5.0新特性 1
    • 1.1.1 Android 5.0主要新特性概述 1
    • 1.1.2 替换ListView和GridView的RecyclerView 3
    • 1.1.3 卡片CardView 13
    • 1.1.4 3种Notification 18
    • 1.1.5 Toolbar与Palette 23
    • 1.2 Android 6.0新特性 29
    • 1.2.1 Android 6.0主要新特性概述 29
    • 1.2.2 运行时权限机制 30
    • 1.3 Android 7.0新特性 43
    • 1.3.1 Android 7.0主要新特性概述 43
    • 1.3.2 多窗口模式 44
    • 1.4 本章小结 47
    • 第2章 Material Design 48
    • 2.1 Material Design概述 48
    • 2.1.1 核心思想 48
    • 2.1.2 材质与空间 49
    • 2.1.3 动画 49
    • 2.1.4 样式 50
    • 2.1.5 图标 51
    • 2.1.6 图像 51
    • 2.1.7 组件 51
    • 2.2 Design Support Library常用控件详解 54
    • 2.2.1 Snackbar的使用 54
    • 2.2.2 用TextInputLayout实现登录界面 55
    • 2.2.3 FloatingActionButton的使用 60
    • 2.2.4 用TabLayout实现类似网易选项卡的动态滑动效果 61
    • 2.2.5 用NavigationView实现抽屉菜单界面 68
    • 2.2.6 用CoordinatorLayout实现Toolbar隐藏和折叠 74
    • 2.3 本章小结 86
    • 第3章 View体系与自定义View 87
    • 3.1 View与ViewGroup 87
    • 3.2 坐标系 89
    • 3.2.1 Android坐标系 89
    • 3.2.2 View坐标系 90
    • 3.3 View的滑动 91
    • 3.3.1 layout()方法 92
    • 3.3.2 offsetLeftAndRight()与offsetTopAndBottom() 94
    • 3.3.3 LayoutParams(改变布局参数) 95
    • 3.3.4 动画 95
    • 3.3.5 scrollTo与scollBy 96
    • 3.3.6 Scroller 98
    • 3.4 属性动画 99
    • 3.5 解析Scroller 105
    • 3.6 View的事件分发机制 108
    • 3.6.1 源码解析Activity的构成 108
    • 3.6.2 源码解析View的事件分发机制 112
    • 3.7 View的工作流程 119
    • 3.7.1 View的工作流程入口 119
    • 3.7.2 理解MeasureSpec 122
    • 3.7.3 View的measure流程 126
    • 3.7.4 View的layout流程 132
    • 3.7.5 View的draw流程 135
    • 3.8 自定义View 139
    • 3.8.1 继承系统控件的自定义View 140
    • 3.8.2 继承View的自定义View 141
    • 3.8.3 自定义组合控件 147
    • 3.8.4 自定义ViewGroup 152
    • 3.9 本章小结 164
    • 第4章 多线程编程 165
    • 4.1 线程基础 165
    • 4.1.1 进程与线程 165
    • 4.1.2 线程的状态 167
    • 4.1.3 创建线程 168
    • 4.1.4 理解中断 170
    • 4.1.5 安全地终止线程 171
    • 4.2 同步 173
    • 4.2.1 重入锁与条件对象 173
    • 4.2.2 同步方法 175
    • 4.2.3 同步代码块 176
    • 4.2.4 volatile 177
    • 4.3 阻塞队列 183
    • 4.3.1 阻塞队列简介 183
    • 4.3.2 Java中的阻塞队列 184
    • 4.3.3 阻塞队列的实现原理 186
    • 4.3.4 阻塞队列的使用场景 188
    • 4.4 线程池 190
    • 4.4.1 ThreadPoolExecutor 190
    • 4.4.2 线程池的处理流程和原理 192
    • 4.4.3 线程池的种类 193
    • 4.5 AsyncTask的原理 197
    • 4.6 本章小结 203
    • 第5章 网络编程与网络框架 204
    • 5.1 网络分层 204
    • 5.2 TCP的三次握手与四次挥手 205
    • 5.3 HTTP协议原理 207
    • 5.3.1 HTTP简介 207
    • 5.3.2 HTTP请求报文 208
    • 5.3.3 HTTP响应报文 209
    • 5.3.4 HTTP的消息报头 210
    • 5.3.5 抓包应用举例 211
    • 5.4 HttpClient与HttpURLConnection 212
    • 5.4.1 HttpClient 212
    • 5.4.2 HttpURLConnection 216
    • 5.5 解析Volley 218
    • 5.5.1 Volley基本用法 218
    • 5.5.2 源码解析Volley 223
    • 5.6 解析OkHttp 231
    • 5.6.1 OkHttp基本用法 232
    • 5.6.2 源码解析OkHttp 240
    • 5.7 解析Retrofit 255
    • 5.7.1 Retrofit基本用法 255
    • 5.7.2 源码解析Retrofit 261
    • 5.8 本章小结 270
    • 第6章 设计模式 271
    • 6.1 设计模式六大原则 271
    • 6.2 设计模式分类 273
    • 6.3 创建型设计模式 273
    • 6.3.1 单例模式 274
    • 6.3.2 简单工厂模式 277
    • 6.3.3 工厂方法模式 279
    • 6.3.4 建造者模式 281
    • 6.4 结构型设计模式 284
    • 6.4.1 代理模式 285
    • 6.4.2 装饰模式 288
    • 6.4.3 外观模式 291
    • 6.4.4 享元模式 295
    • 6.5 行为型设计模式 298
    • 6.5.1 策略模式 298
    • 6.5.2 模板方法模式 301
    • 6.5.3 观察者模式 304
    • 6.6 本章小结 307
    • 第7章 事件总线 308
    • 7.1 解析EventBus 308
    • 7.1.1 使用EventBus 308
    • 7.1.2 源码解析EventBus 314
    • 7.2 解析otto 324
    • 7.2.1 使用otto 324
    • 7.2.2 源码解析otto 327
    • 第8章 函数响应式编程 333
    • 8.1 RxJava基本用法 333
    • 8.1.1 RxJava概述 333
    • 8.1.2 RxJava基本实现 334
    • 8.1.3 RxJava的不完整定义回调 336
    • 8.2 RxJava的Subject 338
    • 8.3 RxJava操作符入门 339
    • 8.3.1 创建操作符 339
    • 8.3.2 变换操作符 340
    • 8.3.3 过滤操作符 344
    • 8.3.4 组合操作符 349
    • 8.3.5 辅助操作符 352
    • 8.3.6 错误处理操作符 355
    • 8.3.7 条件操作符和布尔操作符 357
    • 8.3.8 转换操作符 360
    • 8.4 RxJava的线程控制 362
    • 8.5 RxJava的使用场景 362
    • 8.5.1 RxJava结合OkHttp访问网络 362
    • 8.5.2 RxJava结合Retrofit访问网络 364
    • 8.5.3 用RxJava实现RxBus 368
    • 8.6 RxJava源码解析 370
    • 8.6.1 RxJava的订阅过程 371
    • 8.6.2 RxJava的变换过程 372
    • 8.6.3 RxJava的线程切换过程 376
    • 8.7 本章小结 381
    • 第9章 注解与依赖注入框架 382
    • 9.1 注解 382
    • 9.1.1 注解分类 382
    • 9.1.2 定义注解 384
    • 9.1.3 注解处理器 385
    • 9.2 依赖注入的原理 392
    • 9.2.1 控制反转与依赖注入 392
    • 9.2.2 依赖注入的实现方式 393
    • 9.3 依赖注入框架 395
    • 9.3.1 为何使用依赖注入框架 395
    • 9.3.2 解析ButterKnife 395
    • 9.3.3 解析Dagger2 405
    • 9.4 本章小结 421
    • 第10章 应用架构设计 422
    • 10.1 MVC模式 422
    • 10.2 MVP模式 423
    • 10.2.1 应用MVP模式 424
    • 10.2.2 MVP结合RxJava和Dagger2 431
    • 10.3 MVVM模式 438
    • 10.3.1 解析Data Binding 439
    • 10.3.2 应用Data Binding 457
    • 10.4 本章小结 459
    • 第11章 系统架构与MediaPlayer框架 460
    • 11.1 Android系统架构 460
    • 11.2 Android系统源码目录 463
    • 11.2.1 整体结构 463
    • 11.2.2 应用层部分 464
    • 11.2.3 应用框架层部分 465
    • 11.2.4 C/C 程序库部分 465
    • 11.3 Source Insights使用 466
    • 11.4 MediaPlayer框架 467
    • 11.4.1 Java Framework层的MediaPlayer分析 467
    • 11.4.2 JNI层的MediaPlayer分析 469
    • 11.4.3 Native层的MediaPlayer分析 471
    • 11.5 本章小结 478
    • 后记 479

    上一篇:机器人Python极客编程入门与实战  下一篇:互联网产品运营:产品经理的10堂精英课

    展开 +

    收起 -

    码小辫二维码
     ←点击下载即可登录

    Android开发相关电子书
    学习笔记
    网友NO.832101

    jquery判断iPhone、Android设备类型

    最近做了一版微信宣传页,通过JQ来判断设备,并进行下载 微信内置浏览器对下载链接进行了屏蔽,所以先进行判断,如果是微信内置浏览器,则跳转应用宝链接,如果不是,则判断是iPhone/Adroid/PC 并进行跳转 代码如下: function downloadApp(){ var u = navigator.userAgent; var ua = navigator.userAgent.toLowerCase(); var isAndroid = u.indexOf('Android') -1 || u.indexOf('Adr') -1; //android终端 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 if(ua.match(/MicroMessenger/i)=="micromessenger") { //微信内置浏览器 $(".download a").click(function(){ window.location.href='http://a.app.qq.com/o/simple.jsp?pkgname=应用名 ' }); }else{ if(isiOS){ $(".download a").click(function(){ window.location.href='https://itunes.apple.com/cn/app/应用名' }); }else if(isAndroid){ $(".download a").click(function(){ window.location.href='http://a.app.qq.com/o/simple.jsp?pkgname=应用名' }); }else{ $(".download a").click(function(){ window.location.href='应用链接' }); } } } 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。 ……

    网友NO.823312

    Eclipse运行android项目报错Unable to build: the file dx.jar was not loaded from the SDK folder的解决办法

    由于最近通过 SDK-Manager 更新了 build-tools ,当要用到 dx.jar 这个包时,自动调用最新 build-tools 中 dx.jar ,但是运行 Android 项目时 Console 却提示: Failed to load C:\Program Files (x86)\android\android-sdk\build-tools\26.0.0-preview\lib\dx.jar Unable to build: the file dx.jar was not loaded from the SDK folder 解决步骤: (1)找到你 Android 的 SDK 安装目录C:\Program Files (x86)\Android\android-sdk,进入 build-tools 文件夹 (2)发现还有很多其他版本的 build-tools ,而且版本都是顺序排列的,我们就任意选择一个(只要不是最新版的就行),打开进入 lib 文件夹 (3)发现里面有 dx.jar 包,复制粘贴到最新版 build-tools 存放 dx.jar 包的目录下,替换掉原来的 dx.jar 包(C:\Program Files (x86)\Android\android-sdk\build-tools\26.0.0-preview\lib\dx.jar) (4)完成,再次启动 Android 项目,问题解决! 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对码农之家的支持。如果你想了解更多相关内容请查看下面相关链接 ……

    网友NO.480072

    Android token过期刷新处理的方法示例

    token token的意思是“令牌”,是用户身份的验证方式,最简单的token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,由token的前几位+盐以哈希算法压缩成一定长的十六进制字符串,可以防止恶意第三方拼接token请求服务器)。还可以把不变的参数也放进token,避免多次查库。 第一种方案 通过okhttp提供的Authenticator接口,但是只有HTTP返回码为401时才会触发。此种方式局限性很大,要求后台设计必须符合规范。在实际项目中不可能完美实现。此种方式不做详解,百度很多。 第二种方案 根据和后端协商好的返回码处理刷新token步骤。代码如下; public class TokenInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { Request.Builder request = chain.request().newBuilder(); //添加默认的Token请求头 request.addHeader("Cookie", UserInfo.getInstance().getPhpSessionId()); Response proceed = chain.proceed(request.build()); okhttp3.MediaType mediaType = proceed.body().contentType(); //如果token过期 再去重新请求token 然后设置token的请求头 重新发起请求 用户无感 String content = proceed.body().string(); if (isTokenExpired(content)) { String newToken = getNewToken(); UserInfo.getInstance().setPhpSessionId(newToken); //使用新的Token,创建新的请求 Request newRequest = chain.request().newBuilder() .addHeader("……

    网友NO.582217

    Android 兼容性问题:java.lang.UnsupportedOperationException解决办法

    在前几天的开发中,遇到这么个非常奇葩的异常,有些手机可以运行,有些手机却直接就崩了,今天就把这异常整理下。 首先还是贴上其异常信息 E/AndroidRuntime: FATAL EXCEPTION: mainandroid.view.InflateException: Binary XML file line #13: Error inflating class unknownat android.view.LayoutInflater.createView(LayoutInflater.java:613)at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830)at android.view.LayoutInflater.rInflate(LayoutInflater.java:736)at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)at android.view.LayoutInflater.inflate(LayoutInflater.java:489)at android.view.LayoutInflater.inflate(LayoutInflater.java:396)at com.hy.taotao.utils.GlobalUtils.inflate(GlobalUtils.java:91)at com.hy.taotao.base.BaseFragment.onCreateView(BaseFragment.java:59)...Caused by: java.lang.reflect.InvocationTargetExceptionat java.lang.reflect.Constructor.constructNative(Native Method)at java.lang.reflect.Constructor.newInstance(Constructor.java:417)at android.view.LayoutInflater.createView(LayoutInflater.java:587)at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)?...Caused……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明