首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

干货 | 携程Android 10适配踩坑指南

AndroidX 软件包完全取代了支持库,不仅提供同等的功能,而且提供了新的库。 1.1 什么是AndroidX Android系统在刚刚面世的时候,可能连它的设计者也没有想到它会如此成功。...这些AndroidX包使用严格的语义版本控制,从版本1.0.0开始,您可以单独更新项目中的AndroidX库。...如果取值为 false ,表示不迁移依赖包到AndroidX,但在使用依赖包中的内容时可能会出现问题,如果你的项目中没有使用任何三方依赖,此项可以设置为 false。..., 所以应用需要提前确保支持分区存储 需要注意:在适配AndroidQ的时候还要兼容Q系统版本以下的,使用SDK_VERSION区分 2.2 新特性概览 2.2.1 外部存储 外部存储被分为应用私有目录以及共享目录两个部分...允许其他应用访问,并且应用卸载后不允许删除的文件,文件需要存储在共享目录,应用可以选择是否进行目录整改,将文件迁移到Android10要求的media集合目录。

3.3K77

Android各版本迭代信息集合

前言 今天分享的面试题是: Android在版本迭代中,总会进行很多改动,那么你熟知各版本都改动了什么内容?又要怎么适配呢? Android4.4 发布ART虚拟机,提供选项可以开启。...取消支持Apache HTTP Android 6.0 版移除了对 Apache HTTP相关类库的支持。...有的小伙伴可能不熟悉这是啥,简单说下: Apache HttpClient 是Apache开源组织提供的一个开源的项目,它是一个简单的HTTP客户端(并不是浏览器),可以发送HTTP请求,接受HTTP...Android9.0 在9.0中默认情况下启用网络传输层安全协议 (TLS),默认情况下已停用明文支持。也就是不允许使用http请求,要求使用https。...HTTP 客户端的支持,Android9.0中直接移除了该库,要使用的话需要添加配置: android:name="org.apache.http.legacy" android

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    总是听到有人说AndroidX,到底什么是AndroidX?

    Android技术迭代更新很快,各种新出的技术和名词也是层出不穷。不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?...但是有一点需要注意,AndroidX和Android Support Library中的库是非常不建议混合在一起使用的,因为它们可能会产生很多不兼容的问题。...另外,从Android Studio 3.4.2开始,我发现新建的项目已经强制勾选使用AndroidX架构了。 ? 那么对于老项目的迁移应该怎么办呢?...由于涉及到了包名的改动,如果从Android Support Library升级到AndroidX需要手动去改每一个文件的包名,那可真得要改死了。...为此,Android Studio提供了一个一键迁移的功能,只需要对着你的项目名右击 → Refactor → Migrate to AndroidX,就会弹出如下图所示的窗口。 ?

    2.3K20

    android和androidx区别(为什么总是听到别人说自己坏话)

    不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?相信有很多朋友也会存在这样的疑惑,那么今天我就来写一篇科普文章,向大家介绍AndroidX的前世今生。...但是有一点需要注意,AndroidX和Android Support Library中的库是非常不建议混合在一起使用的,因为它们可能会产生很多不兼容的问题。...另外,从Android Studio 3.4.2开始,我发现新建的项目已经强制勾选使用AndroidX架构了。 那么对于老项目的迁移应该怎么办呢?...由于涉及到了包名的改动,如果从Android Support Library升级到AndroidX需要手动去改每一个文件的包名,那可真得要改死了。...为此,Android Studio提供了一个一键迁移的功能,只需要对着你的项目名右击 → Refactor → Migrate to AndroidX,就会弹出如下图所示的窗口。

    1.6K20

    Material Design Compoents 1.1.0

    Material Design Compoents 1.1.0 增加了 Material Theming,新的组件、黑暗主题支持、等等 新的功能: 所有组件都支持黑暗主题 新的日期选择器(具有范围选择功能和提升可访问功能...MDC的背景说明 Material Components for Android(MDC)是从以前的 Design Support Library 库演变而来,是与 AndroidX 来搭配的。...命名发生了改变从 com.android.support.design到 com.google.android.material 。...海拔表面增亮:所有 MDC 组件都支持其表面增亮来传达黑暗主题中的海拔。指南中的白色覆盖投影映射到组件上设置的 elevation 的数值。 可访问性:MDC 利用颜色来区分是否可以访问。...Android 10 手势支持 手势导航是在 Android10 中引入的。某些 MDC 组件常常处于主手势的区域(比如,BottomNavigationView 以及从底部向上滑动的原始手势)。

    1.1K10

    Android 10 和Android 11的适配

    背景 最近在项目中着手做Android10和Android11 适配时候,期间遇到了不少的坑。之前有专门写过qq、微信分享的适配。但是此次在针对偏业务侧适配工作的时候还是碰到了一些新的问题。...在以上的场景中,涉及到了这些关键点: 把图片存储到sd卡 把绝对路径path传递给qq或者微信 1.1 直接访问sd卡的根目录 通过FileOutPutStream来完成,在Android10以下都没问题...但是,这里有个坑: 在Android10上不行,在Android11上又可以!!为什么? 因为Google改回来了,让Android11支持file://格式了。。。。 (wtf?...上都 glide、qq分享、第三方的图片选择框架等都可以正常访问。...要分享公共目录,因为支持File api直接访问公共目录,因此,可以直接把content格式转成file格式即可,具体可回看文中的第二部分。

    1.4K41

    Android Support 和 AndroidX

    ,Android 3.x系统是平板专用系统,用得不多; Android版本更新飞快,现在都Android 12了,国内APP基本都最少兼容Android 5.1 (API 21),这种v4、v7的命名早已没太大的意义...0x2、AndroidX Library的出现 从Android 9.0 (API 28) 开始,appcompat-v7:28.0.0 作为 Support Library的 终结版本,未来的新特性和改进都会进入...配置 在项目的gradle.properties文件中添加下述配置: 当前项目启用androidx android.useAndroidX=true 将依赖包也迁移到androidx,一般写true 如果设为...① Support 和 AndroidX 能共存吗?...看官方从是哪个版本开始引用androidx库的,回退到之前的版本即可。另外,建议引用依赖库时使用具体的版本,而尽量避免使用latest.release或+方式。

    2.4K10

    Android 12 蓝牙适配

    Android3.1 中系统可以通过 Bluetooth HID 方式同时接入一到多款输入设备。...Android4.2 中引入了一种新的针对 Android 设备优化的 Bluetooth 协议栈 BlueDroid,从而取代 BlueZ 协议栈。...Android4.3 中增加了对低功耗蓝牙的支持,内置支持 Bluetooth AVRCP 1.3,基于 Google 和 Broadcom 公司功能研发的针对于 Android 设备优化的新的蓝牙协议栈...二、新建项目   在Android12.0中新增加了三个运行时权限,我们依次来说明一下,这里我们依然创建一个项目来说明,新建一个Android12Bluetooth项目,如下图所示: 这里使用...如果您的应用不推导物理位置,那么您可以坚定地断言您的应用绝不会使用蓝牙权限来推导物理位置。

    2.1K51

    史上最优美的Android原生UI框架XUI使用指南

    XUI几乎涵盖了目前Android开发所需要的所有组件,可以说有了XUI之后,可以大大提高我们的开发效率,让我们可以将精力很多地放在业务功能和数据处理上。...Design设计风格更是无人问津,这就导致了设计师给出的原型图几乎是清一色的IOS风格,更尴尬的是,网上Android相关的开源UI库是少之又少,这可就为难死我们了,几乎所有的基础组件都需要自己重写。...最后,如果以上都检查过但问题依然存在,你可以尝试升级XUI至最新版本(注意最新版本只支持AndroidX)。...如果升级了问题依然存在,那么就要考虑是不是你的用法有问题了,建议多看看XUI项目中的演示Demo,点击查看学习演示Demo的用法。 4.XUI有支持Support和AndroidX的版本吗?...答:最新的版本是只支持AndroidX的。从XUI 1.0.5以后,是支持AndroidX的版本,1.0.5之前的版本是支持Support的版本。

    6.4K20

    Android 12 蓝牙适配 Java版

    Android3.1 中系统可以通过 Bluetooth HID 方式同时接入一到多款输入设备。...Android4.0 中新增支持连接 Bluetooth HDP [Health Device Profile)] 设备,通过第三方应用的支持,用户可以连接到医院、健身中心或者家庭等场合中的无线医疗设备和传感器...Android4.2 中引入了一种新的针对 Android 设备优化的 Bluetooth 协议栈 BlueDroid,从而取代 BlueZ 协议栈。...Android4.3 中增加了对低功耗蓝牙的支持,内置支持 Bluetooth AVRCP 1.3,基于 Google 和 Broadcom 公司功能研发的针对于 Android 设备优化的新的蓝牙协议栈...如果您的应用不推导物理位置,那么您可以坚定地断言您的应用绝不会使用蓝牙权限来推导物理位置。

    2.8K40

    Android8.0、9.0、10.0、11.0的新特性兼容适配代码修改

    《Android Studio开发实战 从零基础到App上线(第2版)》在书后面的附录中给出了Android8和Android9的主要特性说明,附录表格如下图所示: 不过附录表格只涵盖了常见的功能代码适配...,而Android8和Android9的众多新特性还涉及到其它的代码适配,下面就补充列出Android8、Android9、Android10的额外兼容处理说明: Android8.0 1、属性动画组合.../LightActivity.java 3、悬浮窗要使用类型TYPE_APPLICATION_OVERLAY,原来的类型TYPE_SYSTEM_ALERT从Android8.0开始被舍弃了。...如果仍要访问http地址,需要修改配置 Android9开始默认使用加密连接,也就是只能访问https打头的网络地址,不能访问http打头的网络地址(如果访问http地址就会报错“No Network...3、Android10新增了健身运动权限ACTIVITY_RECOGNITION 使用计步器时需要声明健身运动权限,改动点说明如下: (1)修改AndroidManifest.xml,增加新的权限配置

    1.1K20

    历史角度看Support Library 到 AndroidX

    我们都知道 Android 在 2008 年发布了它的第一个正式版本,系统发布后都是要不断的进行迭代更新的,新的系统中会加入新的 API,但是这些新加入的 API 在老版本的系统中是没有的,这个时候如果我们的...最初的时候 v4 v7 这些数字都是表示系统可以兼容到 api 版本多少,比如 v4 表示可以兼容到 api 4 对应的 Android 系统版本就是 1.6 。...现如今这些早已过时了,从支持库版本 26.0.0 (2017年7月)开始,对于大多数库软件包支持的最低 API 级别已经提升到 Android 4.0(API 14)了。...它属于 Jetpack,除了现有的支持库以外,AndroidX 库还包含了最新的 JetPack 组件,在 Api27及更早版本,依然可以使用 Support Library 但是之后新开发的所有库都将在...因为这个新加的库太强大了!可以认为是 design 库的升级版,里面的控件比之前design中的使用起来更加的顺手!好了上面介绍那么多主要是为了引入这个库的。

    51810

    Android Jetpack架构组件(一)与AndroidX

    虽然Android官方没有推出开发标准,但是一些技术社区出于更高效的进行协同开发,逐渐引入了MVP和MVVM等应用开发架构,使用这些框架开发出来的应用,无论从项目质量还是代码的可读性和可维护性来说,都更加出色...存储区是唯一依赖于其他多个类的类,在本例中存储区依赖于持久性数据模型和远程后端数据源。并且,这些架构组件既可以配合使用,也可以单独使用,可以根据需要合理选择。...并且,为了方便开发者迁移到AndroidX版本,谷歌官方给出了很详细的迁移文档(如何迁移到Android)。对于一些新组件和老组件,可以参加下面的表。...[在这里插入图片描述] 4.2 迁移到AndroidX 如果你从未在Android项目中使用AndroidX,现在希望将项目迁移到AndroidX,那么可以在菜单栏中依次选择【ReFactor】→【Migrate...如果是新建项目,那么默认会添加AndroidX支持。

    2.1K00

    Plaid 应用迁移到 AndroidX 的实践经历

    Restitching Plaid: 把 Plaid 更新到最新应用标准 和大多数 Android 应用一样,Plaid 依赖 Android Support Library,该库可以为新 Android...如果你不使用 Android Studio 或者更倾向于其他工具来做迁移,请参考 Artifact 和 Class 来对比新旧支持库间架构和类的改动,这些材料也有提供 CSV 格式。...plusAssign 的使用被临时注释掉了(参考这次提交)。本文的后面我们会研究对 Palette 和 plusAssign 问题的可持续解决方案。 现在应用可以运行了,到清理代码的时候了!...与此同时,我们把 Palette 参数更新到可以为空的这个版本(参考这次提交),这样就无需使用操作符 !!。 同样的,自动转化可能使得某些类需要使用它们的完整类路径。做最少的手工修正是一个好的思路。...幸运的是这些都相对容易解决。Plaid 现在已经准备好再被用起来了! 如果发现译文存在错误或其他需要改进的地方,欢迎到 掘金翻译计划 对译文进行修改并 PR,也可获得相应奖励积分。

    96230

    Flutter 1.7 正式发布,新特性神了!

    AndroidX 支持 基于 AndroidX 本身已经稳定,同时许多 Flutter 软件包也已经更新以支持 AndroidX,Flutter 1.7 现已支持使用 AndroidX 创建新的 Flutter...创建 Flutter 项目时,可以添加 --androidx 标识以确保生成的项目能兼容新的支持库。...从 2019 年 8 月 1 日起,使用 native 代码且支持 Android 9 Pie 的 Android 应用程序在发布到 Google Play 商店时,除了 32 位版本之外,还需要提供...新的 widget 和增强框架 更新和增强适用于 Android 和 iOS 的 widget,主要有以下 • 新增 RangeSlider 控件 这个控件可以在单个滑块上选择值的范围(例如最小和最大温度值...在文档和错误消息方面的问题中,所做的一项关键工作是更好地结构化错误信息,让 VSCode 和 Android Studio 能够更有效地使用这些信息。可以查看 issue 34684。

    1.2K30

    Android WIFI使用简述

    一、创建项目   首先创建项目,这里我使用的Android Studio版本为Android Studio Electric Eel | 2022.1.1,创建一个名为Android13Wifi的项目。...所以对于仅需要连接 Wi-Fi 设备,但实际上并不需要了解设备位置的应用来说,以 Android 13 (33)为目标平台的应用现在可以通过 “neverForLocation” 属性来完善申请 NEARBY_WIFI_DEVICES...这里会用到比较多的图片资源,用来标识信号强度等级的,从我的源码中去获取即可。   ...,有保存记录,所以再连接A的时候直接连接就可以了,不再需要密码了。...,主要是连接方面的,你当然也可以把扫描wifi放进来,对于wifi的连接,需要区分版本进行不同的处理,Android 10 及以上和Android 10以下是不同的方式,下面我们来使用这个工具类。

    3.2K20

    Plaid 应用迁移到 AndroidX 的实践经历

    Restitching Plaid: 把 Plaid 更新到最新应用标准 和大多数 Android 应用一样,Plaid 依赖 Android Support Library,该库可以为新 Android...如果你不使用 Android Studio 或者更倾向于其他工具来做迁移,请参考 Artifact 和 Class 来对比新旧支持库间架构和类的改动,这些材料也有提供 CSV 格式。...plusAssign 的使用被临时注释掉了(参考这次提交)。本文的后面我们会研究对 Palette 和 plusAssign 问题的可持续解决方案。 现在应用可以运行了,到清理代码的时候了!...迁移工具的一个缺点是:如果你在依赖版本项使用了变量,迁移工具把它们自动内联。我们从 build.gradle 文件中重新提取了这些版本(参考这次提交)。...与此同时,我们把 Palette 参数更新到可以为空的这个版本(参考这次提交),这样就无需使用操作符 !!。 同样的,自动转化可能使得某些类需要使用它们的完整类路径。做最少的手工修正是一个好的思路。

    1K50

    提示 Plaid 应用迁移到 AndroidX 的实践经历

    Restitching Plaid: 把 Plaid 更新到最新应用标准 和大多数 Android 应用一样,Plaid 依赖 Android Support Library,该库可以为新 Android...如果你不使用 Android Studio 或者更倾向于其他工具来做迁移,请参考 Artifact 和 Class 来对比新旧支持库间架构和类的改动,这些材料也有提供 CSV 格式。...plusAssign 的使用被临时注释掉了(参考这次提交)。本文的后面我们会研究对 Palette 和 plusAssign 问题的可持续解决方案。 现在应用可以运行了,到清理代码的时候了!...迁移工具的一个缺点是:如果你在依赖版本项使用了变量,迁移工具把它们自动内联。我们从 build.gradle 文件中重新提取了这些版本(参考这次提交)。...与此同时,我们把 Palette 参数更新到可以为空的这个版本(参考这次提交),这样就无需使用操作符 !!。 同样的,自动转化可能使得某些类需要使用它们的完整类路径。做最少的手工修正是一个好的思路。

    1K10
    领券