Android进阶之光读书笔记——第一章:Android新特性(1),腾讯3轮面试都问了Android事件分发

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)

最后

**一个零基础的新人,我认为坚持是最最重要的。**我的很多朋友都找我来学习过,我也很用心的教他们,可是不到一个月就坚持不下来了。我认为他们坚持不下来有两点主要原因:

他们打算入行不是因为兴趣,而是因为所谓的IT行业工资高,或者说完全对未来没有任何规划。

刚开始学的时候确实很枯燥,这确实对你是个考验,所以说坚持下来也很不容易,但是如果你有兴趣就不会认为这是累,不会认为这很枯燥,总之还是贵在坚持。

技术提升遇到瓶颈了?缺高级Android进阶视频学习提升自己吗?还有大量大厂面试题为你面试做准备!

提升自己去挑战一下BAT面试难关吧

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

不论遇到什么困难,都不应该成为我们放弃的理由!

如果有什么疑问的可以直接私我,我尽自己最大力量帮助你!

最后祝各位新人都能坚持下来,学有所成。

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

是贵在坚持。

技术提升遇到瓶颈了?缺高级Android进阶视频学习提升自己吗?还有大量大厂面试题为你面试做准备!

提升自己去挑战一下BAT面试难关吧

[外链图片转存中…(img-yFQeFf7c-1712442708569)]

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

不论遇到什么困难,都不应该成为我们放弃的理由!

如果有什么疑问的可以直接私我,我尽自己最大力量帮助你!

最后祝各位新人都能坚持下来,学有所成。

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

  • 11
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值