Android进阶之光读书笔记——第一章:Android新特性(1)

1.1.4 三种Notification

1.1.5 Toolbar与Palette

1.2 Android 6.0新特性

1.2.1 Android 6.0主要新特性概述

1.2.2 运行时权限机制

1.3 Android 7.0新特性

1.3.1 Android 7.0主要新特性概述

1.3.2 多窗口模式

1.4 本章小结


第一章 Android新特性

  • 主要讲了一些Android 5.0、6.0、7.0新特性

1.1 Android 5.0新特性

==================

Android 5.0 Lollipop是 Google于2014年10月15日发布的Android操作系统。 北京时间2014年6月26日,Google I/O 2014开发者大会在旧金山正式召开, 发布了Android 5.0的开发者预览版。 下面我们先来看看Android 5.0给我们带来了什么。

1.1.1 Android 5.0主要新特性概述


1.全新的Material Design设计风格

意为:材料设计、材质设计,总体来说界面有很大的提升,纸张化的体验,表面和边缘的质感

2.支持多种设备

手机,平板电脑,笔记本,电视,汽车,手表,家用电子产品等

3.全新的通知中心设计

优先显示重要信息,不重要信息隐藏起来

4.支持64位ART虚拟机

之前用的是Dalvik虚拟机,改用了ART虚拟机

5.Overview

多任务视窗,我们平时经常用到的,在各个APP来回切换

6.设备识别解锁

通过附近是否有可信任设备来解锁

7.Ok Google语音指令

手机处于待机状态,可以说一些语音指令来执行对应的程序

8.Face unlock面部解锁

花费较大的力气优化了面部解锁功能

1.1.2 替换ListView和GridView的RecyclerView


有了 ListView、 GridView, 为什么还需要 RecyclerView 这样的控件呢? 从整体上看, RecyclerView架构提供了一种插拔式的体验, 它具有高度的解耦、 异常的灵活性和更高的效率, 通过设置它提供的不同LayoutManager、 ItemDecoration、 ItemAnimator 可实现更加丰富多样的效果。 但是RecyclerView也有缺点和让人头疼的地方: 设置列表的分割线时需要自定义, 另外列表的点击事件需要自己去实现。

书中也没有特别深入,介绍了些简单的使用方法,我也就按着作者的步骤总结一下吧

1.配置build.gradle

导包,没啥说的

2.使用RecyclerView

设置布局管理器,设置动画,设置适配器等就那几个步骤

3.设置分割线

书中用的是继承ItemDecoration来实现分割线效果的

我们还可以在每一项布局的底部加一个分割线

或者去使用默认的分割线,直接传一个DividerItemDecoration

通过分割线的实例对象去setDrawable一个shape标签写的xml布局

4.自定义点击事件

通过回调接口来设置点击事件

5.实现GridView

这个设置一下布局管理器,分割线就可以了

6.实现瀑布流

在onBindViewHolder中通过LayoutParams去设置每一个Item的高度就可以实现了

附加:

Adapter中的执行顺序是getItemViewType()、onCreateViewHolder()、onBindViewHolder()

onCreateViewHolder():在这个界面首次加载Item的布局的时候执行

onBindViewHolder():首次加载在onCreateViewHolder()之后执行,然后只要Item滚动进屏幕就会频繁调用

1.1.3 卡片CardView


  • 主要是可以直接在xml中设置圆角、阴影等等

1.配置build.gradle

  • 导包,没啥说的

2.使用CardView

  • 这个也没啥说的

1.1.4 三种Notification


otification可以在状态栏,锁屏界面,甚至悬浮窗口进行通知,最直观的就是我们在打王者荣耀的时候微信有新消息会有一个悬浮窗来通知我们

1.普通Notification

通过PendingIntent来跳转,就那几行代码,不详细说了

2.折叠式Notification

和普通的Notification基本一样,只不过多了一个展开的视图,需要使用RemoteViews创建自定义的视图

3.悬挂式Notification

不需要下拉通知栏直接显示出来悬挂在屏幕上方,并且焦点不变,过几秒就消失,需要调用setFullScreenIntent

4.Notification的显示等级

VISIBILITY_PUBLIC:任何情况都会显示通知。

VISIBILITY_PRIVATE:只有在没有锁屏时会显示通知。

VISIBILITY_SECRET:在pin、password等安全锁和没有锁屏的情况下才能够显示通知。

直接通过调用setVisibility方法就可以了

1.1.5 Toolbar与Palette


  • Toolbar比Actionbar好用得多

  • 在Android群英传已经详细介绍过这个了,这里简单说几句

1.引入Toolbar

  • 导包,没啥说的

  • style中把Actionbar去掉,并且自定义各种颜色

写布局,代码中调用

2.自定义Toolbar

我们还可以设置Toolbar的标题和图标以及Menu、Item等属性

覆盖setOnMenuItemClickListener实现点击的回调

3.添加DrawerLayout实现侧滑

没啥说的

4.Palette

意为:调色板,用来提取颜色,让主题能够动态适应当前界面的色调,

实现方式:将bitmap传递给Palette,调用generate即可,在onGenerated回调中得到图片的色调

1.2 Android 6.0新特性

==================

2015年5月,Android推出了6.0 Marshmallow(棉花糖)的新系统,依旧保持Material Design风格,在软件体验与运行性能上进行来大幅度的优化,据测试,Android6.0可使续航时间提升30%

1.2.1 Android 6.0主要新特性概述


1.应用权限管理

应用的权限都开放给开发者和用户

2.Android Pay

支持4.4以后的系统设备并且可以使用指纹来进行支付

3.指纹支持

其实6.0之前也有部分手机厂商就实现了指纹的功能,比如我之前用的5.0的oppo手机也有指纹功能,而这一次是谷歌提供的指纹识别支持

4.Doze电量管理

手机静止不动一段时间后,进入Doze电量管理模式,当屏幕处于关闭状态,平均续航时间可提高30%

5.App Links

将app与它们的web域名关联,比如手机邮箱中收到一封邮件,点击链接中的Twitter链接,可以直接跳到Twitter应用,而不是网页

6.Now on Tap

这个功能可以很大的方便用户,比如在某一个程序界面长按Home键,它会识别屏幕上的内容并创建Now卡片

1.2.2 运行时权限机制


Android 6.0之前,会在安装App的时候列出各种访问权限,那么在Android 6.0之后会在App运行的时候一个一个的来询问用户来授权

1.Android 6.0之前版本的应对之策

Android 6.0默认为targetSDKVersion小于23的应用授予了所有的权限,如果应用的targetSDKVersion低于23,在运行时不会崩溃,如果手动取消了权限,则会提示拒绝了权限而无法运行,依赖该项授权的方法的返回值为null,所以有可能报空指针异常,所以我们要尽快着手修改App支持最新的权限系统

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

尾声

如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家梳理了多年的架构经验,筹备近6个月最新录制的,相信这份视频能给你带来不一样的启发、收获。

PS:之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

架构篇

《Jetpack全家桶打造全新Google标准架构模式》

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

6个月最新录制的,相信这份视频能给你带来不一样的启发、收获。[外链图片转存中…(img-I0flxDhE-1712598301854)]

PS:之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

[外链图片转存中…(img-9CbYTzxo-1712598301854)]

架构篇

《Jetpack全家桶打造全新Google标准架构模式》
[外链图片转存中…(img-2DvMA7rS-1712598301855)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 19
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值