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

Android studio preview不显示

作为一个刚学习Android小白,装Android studio过程中就遇到了不少问题,这两天发现preview一直不显示,百度查了一,很多教程都只是改了一这里,但是治标不治本啊,新项目又会出现这个问题...打开设置,明显发现以前设置里,是这样,以前只有api28,修改之后下了27。...现在看看buildToolsVersion版本,查看方法右击你项目,选择Opun Module Settings,或者按F4(点击一项目,然后再按),即可。...发现我这里sdk是28,下面的Build却没有,现在选择Build27,sdk也改成27. 修改之后 因为以前用sdk28,所以这里要改一V7应用包,在build.grade里面更改。...'com.android.support:appcompat-v7:27.1.1' 改了之后,也别忘记上面的sdk版本哪里也改成27 好了,再新建一个布局,就正常了 参考方法来自https://blog.csdn.net

69030

Android 获取进程名函数,如何优化到极致?

一、获取进程名常规方法,通过ActivityManager 在多进程APP中,常常需要知道当前进程是主进程还是后台进程?还是什么进程。...当你APP用户量达到一定数量级别时,一定会有用户遇到ActivityManager.getRunningAppProcesses()调用失败情况。...三、寻求更优解 方法一:大叔发现,在android api28时候新增了一个方法:Application.getProcessName() ?...但是,马上就发现: ActivityThread类是hide,app无法直接调用。 于是大叔继续翻源码,看看这个方法是什么时候新增。 ?...大叔做了个简单测试,测试三种方法调用需要时长: 在模拟器上做测试,模拟器配置如下: ?

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

看我一波,Android获取进程名函数,代码优化到极致操作!

建议收藏本文,你项目一定用到。 一、获取进程名常规方法,通过ActivityManager 在多进程APP中,常常需要知道当前进程是主进程还是后台进程?还是什么进程。...当你APP用户量达到一定数量级别时,一定会有用户遇到ActivityManager.getRunningAppProcesses()调用失败情况。...三、寻求更优解 方法一:大叔发现,在android api28时候新增了一个方法:Application.getProcessName() image.png Application.getProcessName...这不就是我们想要API吗! 但是这个方法只有在android9【也就是aip28】之后系统才能调用。...ActivityThread类是hide,app无法直接调用。 于是大叔继续翻源码,看看这个方法是什么时候新增

2.3K50

kotlin实现通知栏提醒功能示例代码

二、环境 kotlin版本:1.3.31 android studio版本:3.4.1 在华为手机android 9 API28 环境测试通过 三、实现 1、创建一个 Empty Activity 项目后...="wrap_content"/ </LinearLayout 2、在类 MainActivity创建showNotification 方法 fun showNotification(view: View...Context.NOTIFICATION_SERVICE) as NotificationManager notificationManager.createNotificationChannel(channel) } } 四、总结 对于报错部分...详细通知使用,请转到官网研究。developer.android.google.cn/training/no… 初次发文,若有不足地方,还请指正。成品截图 ?...总结 以上就是这篇文章全部内容了,希望本文内容对大家学习或者工作具有一定参考学习价值,谢谢大家对ZaLou.Cn支持。

1.5K21

移动端系统生物认证技术详解

相信大家对于生物认证应该不会陌生,使用指纹登陆或者 FaceId 支付等需求场景如今已经很普遍,所以基本上只要涉及移动端开发,不管是 Android 、iOS 或者是 RN 、Flutter 都多多少少会接触到这一业务场景...当然,不同之处可能在于大家对于平台能力或者接口能力熟悉程度,所以本篇主要介绍 Android 和 iOS 上使用系统生物认证需要注意什么,具体流程是什么,给需要或者即将需要大家出一份汇总资料。...28) 所以如下图所示,你会看到其实底层有两套 Service 在支持生物认证 API 能力,但是值得注意是, FingerprintManager 在 Api28Android P)被添加了...,至于为什么会有这样设计,我个人猜测其中一条就是屏指纹。...: 例如是否需要每次都进行身份验证时才可以访问项目; 身份验证级别: 也就是什么场景可以访问到存储信息; 举个例子,访问 keychain 首先是需要创建 accessControl ,一般可以通过

1.7K20

Android适配全面总结(二)----版本适配

我这里简单给出几点我开发中使用过一些方式,仅供参考: 一、同一个api在不同版本都存在,只是api一些接口方法有变更。...这种情况是最好处理,只要对版本号做判断,对应系统版本用相应api方法就好了。为了好维护,建议做一个简单封装。...(在API级别26中已弃用。请使用 IMPORTANCE_MIN 替代) STREAM_DEFAULT This constant was deprecated in API level 21....(在API级别21中已弃用。请使用 getAudioAttributes() 替代) 5.字段Fields audioAttributes 在api 26弃用....---- 三、Android6.0如何申请动态权限 开发中经常会遇到拍照权限申请,这里就讲一如何动态设置拍照权限: //别忘记在清单文件也加上CAMERA权限 //<uses-permission

2.3K10

杂谈——什么是Google Fuchsia ?

Fuchsia 不仅可以替代台式机操作系统Chrome操作系统,而且可以替代专为移动设备设计Android。尽管事实上,Android在当今市场上几乎是无与伦比。...从那以后,有传言称Google正在努力替代几乎无与伦比Android。 Fuchsia OS如何工作? Google在开发Fuchsia OS方面开辟了新天地。...modules是具有用户界面的组件,这些组件在前台执行,对用户可见。操作系统中每个模块都是为特定任务而设计,并进行了相应标记,以便可以在需要时自动对其进行访问。...Fuchsia OS四个系统级别:Zircon, Garnet, Peridot, and Topaz Fuchsia OS优缺点一目了然 按照模块化方法,Fuchsia OS开发人员已将系统体系结构划分为具有特殊任务各个区域...在这两种情况,设备制造商都可以提供个性化Fuchsia OS版本,而不会影响Zircon和Garnet功能或这些层正式更新周期。

1.2K00

【Flutter】362- 让前端开发者失业技术,Flutter Web 初体验

前端技术真是层出不穷?还学得动不…??? Flutter 是一种新型 “客户端” 技术。它最终目标是替代包含几乎所有平台开发:iOS,Android,Web,桌面;做到了一次编写,多处运行。...之后点击右上角方盒按钮(SDK Manager),用来选择安装 SDK 版本,最好选 Android 9 版本,API28,会有一个很长时间下载过程。SDK 是开发必须代码库。...右上角有个小手机类型按钮(AVD Manager),用来设置 Android 模拟器,创建一个虚拟机。如果你有一台安卓手机,也可以连接 USB 接口,替代虚拟机。这个过程是调试必须。...查看一C:UserschunpengliuAppDataRoamingPubCachein目录下是否包含 stagehand 和 webdev,如果有,添加到环境变量 path 里面,如果没有,按下面方法安装...总结 FLutter web 是 Flutter 一个分支,在开发完 App 之后,UI 层面的 FLutter 代码在不修改情况可以直接编译为 Web 版,基本可以做到代码 100% 复用,体验还不错

2.1K20

Android 11 应用兼容性适配,看这篇就够了

具体使用方法参考: https://developer.android.google.cn/preview/test-changes 使用过程中需要注意点: 1 对于每项变更,每个进程最多只会记录一次...2 应用私有目录访问 对于运行在Android 11应用,无论targetSdkVersion是什么都无法访问Emulated存储中其他应用私有目录(Android/data)。...自定义UI界面的方法,请参考Google适配指导 https://developer.android.google.cn/preview/privacy/location#create-custom-ui...只要有可能,接口名称后面的注释中都会提供建议替代 API。每个接口占一行。...虽然您目前仍然可以使用灰名单中一些非 SDK 接口(取决于您应用目标 API 级别),但如果您使用任何非 SDK 方法或字段,则应用在将来系统版本或安全补丁升级后无法运行风险终归较高。

11.9K42

如何用 Android vitals 解决应用程序质量问题

用户可能不会立即卸载你应用,但如果 ANR 持续存在,用户很可能会寻找替代应用。 过度唤醒 那么,唤醒是什么以及它们何时变得过度呢?...唤醒警报是否有其他替代方法?...对于用户来说,ANR 是当他们尝试与你应用进行交互时,该界面被冻结。界面保持冻结几秒钟后,会显示一个对话框,让用户选择等待或强制应用程序退出。...使用收集到有关你应用 ANR 事件匿名数据,Android vitals 提供了有关 ANR 多个级别的详细信息。主屏幕显示你应用程序中发生 ANR Activity 概况。...如果你在后台从中读取值,可以在主线程上调用 getSharedPreferences 方法吗?在这两种情况,答案是这些都可能是长时间阻塞操作。

2.2K10

腾讯生物认证开放平台——TENCENT SOTER

对于Android来说,在指纹方面,适配Android 6.0FingerprintManager以及KeyStore接口以做到接口统一,同时对于Android不安全情况进行加固; 3....ATTK具有以下特点: RSA-2048格式密钥,目前没有有效破解方法 在设备内部生成,任何机构或者个人没有办法获取密钥私钥 Android设备中,私钥存储在设备TEE中安全区域(RPMB),目前没有有效方式进行破解...对于第2-n级密钥,则客户端(设备)主动请求到密钥生成TA,请求生成该级别密钥 5. 密钥生成完毕之后,将私钥存储在安全存储区域 6....密钥公钥导出至设备,同时从安全区域中导出有该公钥使用上一级别的密钥签名。...SOTER应用场景是什么 除了已经在使用微信支付之外,SOTER有很多其他应用场景: 实现生物识别解锁或生物识别登陆,用户不再需要输入繁琐密码,还能实现多账号快速切换; 替代交易密码,将原本繁琐在线交易流程简化

9.7K102

Android 12行为变更和版本兼容思路

但是,尽管您目前可以使用某些非SDK接口(取决于应用程序目标API级别),但是使用任何非SDK方法或字段始终会带来破坏应用程序高风险。...不过,我们了解到某些应用程序具有使用非SDK界面的有效用例。如果您找不到在应用程序中为功能使用非SDK接口替代方法,则应请求新公共API。...通过这种方法,您可以在运行Android 5.0(API级别21)或更高版本(包括Android 12)和WebView 89.0.4385.0或更高版本任何设备上进行测试。...不过,我们了解到某些应用程序具有使用非SDK界面的有效用例。如果您找不到在应用程序中为功能使用非SDK接口替代方法,则应请求一个新Public API。...当您需要对测试进行更多控制时,例如对于自动化测试或回归测试,此方法很有用。

4.4K10

2019 Android 高级面试题总结 从java语言到AIDL使用与原理

再按 Home 键在回到 Activity 生命周期是什么 启动模式 Standard 模式:Activity 可以有多个实例,每次启动 Activity,无论任务栈中是否已经有这个Activity...触发在什么时候在那个方法里可以获取数据等。 是否了 SurfaceView,它是什么?他继承方式是什么?他与View区别(从源码角度,如加载,绘制等)。...当父进程被杀死时候,子进程仍然可以存活,并不受影响(Android5.0以上版本不可行)联系厂商,加入白名单 e.锁屏状态,开启一个一像素Activity 说下冷启动与热启动是什么,区别,如何优化...背景被设置成了白色或者黑色,所以我们进入app第一个界面的时候会造成先白屏或黑屏一再进入界面。.../item>` ` 2.采用世面的处理方法,设置背景是透明,给人一种延迟启动感觉。

80720

咦,Oreo怎么收不到广播了?

后来灵光一闪,扒出记忆角落Android7.0广播限制,赶紧Google一。...本篇文章主要讲述以下内容,还请拿起小板凳,带好零食,前来观赏: Android广播科普 Android8.0后台限制 具体广播限制和对应赦免清单 简要介绍适配/解决方法 科普科普广播知识 来来来,先科普...例如:通过静态注册接收开机广播(假设你设备没做定制,能收到~),并在onReceive方法中启动一个Service,在API 26上,是不允许且会报错。当然,对于前台服务,这种限制是不存在。...;对于这些应用,尚未找到能够替代注册此广播可行方案" /** 外拨电话 Intent.ACTION_NEW_OUTGOING_CALL */ "保留原因:执行操作来响应用户打电话行为应用需要接收此广播...可以说写比官网还全那么一丢丢~ 建议收藏一波防止以后用到哈。 简要介绍适配/解决方法 按照官方推荐,对于隐式广播,通过以下方法进行替换。

1.9K40

隐私策略更新 | Android 11 应用兼容性适配

这种方法为用户提供了控制权限授予级别的选择。此外,您还可以有策略地显示一个权限申请说明,或者设计一个合理交互界面,为用户提供更多信息,以说明用户授予位置权限之后所获得功能提升。 ?...例如,应用在前台时候,也就是用户能看到应用界面的时候,才可以使用麦克风和相机。这样可以提高公开透明性,所以用户可以在知情情况启用相关特性。...在 Android 11 中,操作系统对 getIccId() 方法也增加了类似的限制来进一步 限制访问权限,现在该方法仅返回空字符串。...对于需要使用 SIM 卡信息作为唯一性标识应用,需要在 Android 11 里进行“空字符串”兼容性检查。...一个替代方案是使用 getSubscriptionId() 方法,它会针对设备上指定 SIM 卡信息返回一个以数字 1 开头唯一索引值,也就是说,如果同一张 SIM 卡被重新安装到设备上的话,它会保持之前订阅标识符

1.5K10

Android11 (API30)适配

具体使用方法参考: https://developer.android.google.cn/preview/test-changes 使用过程中需要注意点: 1 对于每项变更,每个进程最多只会记录一次...2应用私有目录访问 对于运行在Android 11应用,无论targetSdkVersion是什么都无法访问Emulated存储中其他应用私有目录(Android/data)。...1 不管应用目标 SDK 版本是什么,以下变更均会在 Android 11 中生效: ●  存储运行时权限已重命名为文件和媒体。...只要有可能,接口名称后面的注释中都会提供建议替代 API。每个接口占一行。...虽然您目前仍然可以使用灰名单中一些非 SDK 接口(取决于您应用目标 API 级别),但如果您使用任何非 SDK 方法或字段,则应用在将来系统版本或安全补丁升级后无法运行风险终归较高。

7.5K11

浅谈Android指纹识别技术

但是需要注意是,FingerprintManager在 Android 9.0(Android P Api28)做了 @Deprecated 标记,将被弃用。...虽然电容式指纹还可以选择后置和侧边识别,或者另辟蹊径把指纹识别镶嵌在品牌logo中,但顺应市场,屏指纹识别才是未来主流方向。...手指按压屏幕时,OLED屏幕发出光线将手指区域照亮,照亮指纹反射光线透过屏幕像素间隙返回到紧贴于屏传感器上。获取指纹图像与手机初次录入图像进行对比,最后进行识别判断。...另外,由于LCD屏幕无法自发光,所以目前支持光学屏指纹识别的产品都采用是OLED屏幕。而且OLED屏幕拥有的自发光、可弯曲,厚度薄等特性,是光学屏指纹识别技术有力支撑。...高通称超声波指纹识别为Sense ID,它对手指表面的清洁程度没有太多要求。而且不用对屏幕面板进行开孔,无需按压、可以实现湿手解锁。

1.9K30

自定义一个仿拼多多地址选择器

前言 公司正在开发一个商城项目,因为项目需要,做了一个仿拼多多地址选择器,但是与拼多多实现方法有些出入,大体效果是差不多。废话不多说,先上一张效果动图: ?...好了,我们分析一波效果图,当一个级别的地区选择好之后会创建出一个新Tab,到了最后一个地区级别之后就不会再创建新。如果倒回去重新选择一个级别的地区,会移除后面的Tab之后再创建一个新Tab。...选择好之后,如果点击Tab会切换到相应地区级别,并且滚动到之前选择地区显示,创建新Tab就默认滚动到第一个position位置。 其次,来看看我们这个界面的布局: <?...后来灵机一动,Tab选中position就是代表一个级别,直接通过Map来取对应级别的list出来不就好了。 SparseIntArray是什么?...之前我是这么做,但是会出奇怪问题:在市级重新选择之后,移除后面的tab后再重新选县级之后,TabLayout横线不会移动到镇级上了。

1.6K20
领券