首页
学习
活动
专区
工具
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.2K77

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中直接移除了该库,要使用的话需要添加配置: <uses-library android:name="org.apache.http.legacy" android

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

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

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

2.1K20

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

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

1.3K20

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适配

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

1.3K41

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.3K10

Android 12 蓝牙适配

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

2K51

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

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

4.2K20

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.6K40

历史角度看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中使用起来更加顺手!好了上面介绍那么多主要是为了引入这个库

47710

Android Jetpack架构组件(一)与AndroidX

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

1.9K00

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_ALERTAndroid8.0开始被舍弃了。...如果仍要访问http地址,需要修改配置 Android9开始默认使用加密连接,也就是只能访问https打头网络地址,不能访问http打头网络地址(如果访问http地址就会报错“No Network...3、Android10新增了健身运动权限ACTIVITY_RECOGNITION 使用计步器时需要声明健身运动权限,改动点说明如下: (1)修改AndroidManifest.xml,增加权限配置

98920

Plaid 应用迁移到 AndroidX 实践经历

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

93330

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

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

98410

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

详解Android10分区存储机制(Scoped Storage)适配教程

关于Android10分区机制 ?...在发布Android10时候官方明确表态: 2020年,主要平台版本将要求所有应用都使用分区存储,无论应用目标 SDK 级别是多少。因此,您应该提前确保您应用能够使用分区存储。...翻译成通俗语言,不管是使用requestLegacyExternalStorage=true方式以兼容模式运行还是降低targetSDK无法在接下来2020年Android(API 29)10更新中被豁免...此应用无需请求与存储相关用户权限,即可以查看外部存储中以下类型文件: 应用外部特定目录中文件(使用getExternalFilesDir()访问)。...)适配教程文章就介绍这了,更多相关Android10 分区存储机制内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

3.1K32

Plaid 应用迁移到 AndroidX 实践经历

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

99450

Android Studio 3.2新功能特性

AndroidX重构 作为Jetpack一部分,我们正在使用androidx命名空间将Android支持库重构为Android扩展库。有关更多信息,请阅读 AndroidX公告。...如果您想立即开始使用AndroidX库,并且不需要转换现有的第三方库,则可以android.useAndroidX标志设置 为true,并将 android.enableJetifier标志设置为false...要尝试使用示例数据,请将其添加 RecyclerView 布局,单击设计视图下方设计时属性按钮 ,然后样本数据模板轮播中选择一个选择。...这些检查范围关于潜在可用性问题警告关于潜在安全漏洞高优先级错误。 Gradle目标 使用lintFixGradle任务将lint检查建议所有安全修复直接应用于源代码。...浏览外部头文件 在以前版本Android Studio中使用Project窗口时,只能浏览和检查属于您本地项目构建头文件。

5.4K10

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以下是不同方式,下面我们来使用这个工具类。

2.7K20
领券