当前位置: 首页 > 科技观察

AndroidLDeveloperPreview的API更改

时间:2023-03-13 04:51:29 科技观察

不管怎样,AndroidLDeveloperPreview差异报告已经与javaDoc一起发布,可以在(结构不佳的ZIP存档)中找到。我经常查看此材料,看看它与在GoogleI/O上展示的内容有何不同。AndroidL实际上有很多有意义的变化。注:此分析基于AndroidL的开发预览,可能在“L”发布之前,这里提到的一些东西很可能会回到之前的版本,成为Android5.0的一部分(以及名称目前还不知道。知道)。此外,尽管本文仅展示了我们关心的部分领域,但强烈建议读者查看实际发布的内容。注2:在Android上,“弃用”意味着我们认为有更好的解决方案可用。不能保证这部分将来会一直受到支持,但至少现在仍然可用。关于注释,版本更改在下面以粗体显示:操作栏导航:所有格式均已弃用。这包括操作栏选项卡和下拉导航。我也想知道如果ActionBar选项卡上的各种操作都被限制了会怎么样?部分原因是ActionBar在开发过程中换成了另一个更易操作的组件。Activity中有一个setActionBar()方法需要一个Toolbar参数。Toolbar就像是ActionBar的简化版,可以放在视图结构的任意位置,比起只能锁定在顶部的ActionBar要好很多。活动也可以“持久化”并且可以在重启后继续存在。我想这大概是为了对最近上线的一些功能进行扩展,副作用是我们需要对onSaveInstanceState()方法有一个新的认识。在Activity上,我们需要操作Bundle和一个叫做PersistableBundle的东西。也许这个东西可以挽救系统重启带来的灾难。ActivityManager中的getRecentTasks()和getRunningTasks()现在已弃用,将在AndroidL或更高版本中返回结果的子集。BatteryManager现在可以直接获取电池信息,而不是为ACTION_BATTERY_CHANGED注册一个空类型的接收器。bindService()方法现在需要传入一个显式的Intent对象。如果你的目标sdk版本设置为L版本或更高版本,建议使用隐式Intent来保证代码的可读性,如果你在服务中使用的话,注意一下。根据AlexCurran的说法,这将对IAP(应用内购买)的代码集成产生影响。现在我们可以使用getExternalMediaDirs()方法,它类似于getExternalFileDirs()方法,但是这个方法可以被MediaStore扫描。DevicePolicyManager增加了很多新的功能,一些高级的API可以更多的使用。目前不推荐使用FragmentBreadCrumbs。使用这个类的朋友,为你默哀片刻。这里也新增了一个launcher,可以帮助更方便的找到相关的应用,不过这也跟系统的配置有关(如果不设置为默认的launcher,是不行的)。MediaStore新增了MediaStore.Audio.Radio,没有官方文档,所以会不清楚是流媒体电台,传统电台还是其他。在所有模式中,不推荐使用TOP_LEVEL_*等模式。也许这也反映了顶级域名数量的增加。Android上有很多检测“省电模式”的工具。在PowerManager上使用isPowerSaveMode()方法并添加ACTION_POWER_SAVE_MODE_CHANGED广播。至于是直接包含在OEM中,还是集成在系统框架中,那就不好说了。首先要做的,“undeprecated”之类的字眼,很明显在设置的时候出现了INSTALL_NON_MARKET_APPS,出于安全考虑,已经从设置选项中移回这里,变成全局的了。Web设置现在可以控制内容混合模式,它可以控制webview是否从安全来源加载不安全的内容。最后,其实AndroidL还是有很多变化的,尤其是一些比较大的变化。但这就是我所关心的。如果读者有兴趣,请自行阅读本文未提及的部分内容。原文链接:commonsware翻译:伯乐在线-chris翻译链接:http://blog.jobbole.com/73577/