java
高钙小新
这个作者很懒,什么都没留下…
展开
-
unsupported class file version 53.0
jdk 版本低于 jar 包编译版本引发的报错原创 2022-05-17 17:39:29 · 1010 阅读 · 0 评论 -
关于 TextToSpeech 在 mPaaS Plugin中使用失效的解决方法
近日项目中为了进行适老化、无障碍改造,使用了 TextToSpeech 进行一些文本的播报,来提升视障人士的使用体验。mPaaS 这套框架中,H5 页面与原生端的交互是通过 H5Plugin 来实现的,业务需求中有这么一项,需要播报 H5 页面中的验证码,但是在使用过程中发现,同样的代码,在原生的 Activity 中是可用的,在 H5Plugin 中却无效。初始化代码大概是这样的如下:textToSpeech = new TextToSpeech(this, new TextToSpeech.O原创 2021-10-03 23:21:59 · 742 阅读 · 0 评论 -
简单使用 Accessibility 及 Android 适配 TalkBack,实现适老化和无障碍
前言:工信部发布的互联网应用适老化及无障碍改造的通知,app 需要进行改造,以提高老年人或者视障人士在使用 app 过程的便捷性,改造的内容包括但不限于1、UI 界面更简单、整洁(界面元素不能过于复杂,字体字号需要偏大、清晰)2、页面焦点导航的适配3、页面元素需要适配 TalkBack 朗读4、搭建无障碍服务 service关于界面文字字号大小的选择的,我前面发过文章介绍过方案,今天主要讲讲 android 中 Accessibility 相关使用以及其他一些简单的改造。一、给控件加原创 2021-10-03 23:01:06 · 9618 阅读 · 7 评论 -
关于 app 开启 talkback 模式,界面上的数字串无法正确播报数字(播报成了金额)的解决方法
项目场景:根据工信部的要求,APP 需要做适老化改造,让长辈或者视障人士在使用 app 时能更加方便,体验更好,其中一个改造点就是用户开启了手机的 talkback 模式后,app 能否正确播报相关内容,给视障人士/长辈提供正确的反馈和使用引导。问题描述:改造过程中,有这样一个场景,用户开启了 talkback 模式,单击数字串的文本或者输入了数字的输入框,播报的内容不正确。例如:1、输入框,输入了验证码:123456,talkback 播报为:“十二万三千四百五十六”;2、文本框,原创 2021-09-04 17:01:56 · 1213 阅读 · 0 评论 -
切换 Android Studio 运行时 JDK
忘记保存当时的报错截图了,大概就是虽然再 gradle 中配置了使用 java8 ,但是依旧和 AS 默认运行的 JDK 版本冲突了,解决方法就是切换运行时 JDK。1、安装一个j原创 2021-06-15 21:23:22 · 2854 阅读 · 2 评论 -
关于代码中调用安装 apk 成功后首次打开 app 闪退的问题
记录一个唤起安装 apk 文件成功后打开 app 首次会闪退的问题。现象:app 内更新版本,下载完 apk 后调起安装,系统安装完成后会自动打开 app ,这时候 app原创 2021-06-15 20:59:41 · 1344 阅读 · 0 评论 -
解决 vivo x9 手机无法安装调试 app 的问题 Installation error: INSTALL_PARSE_FAILED_BAD_MANIFEST
今天用测试机连接 usb 使用 eclipse 安装应用报错如下:Installation error: INSTALL_PARSE_FAILED_BAD_MANIFESTPlease check logcat output for more details.Launch canceled记录一下解决方法,在设置-更多设置-恢复出厂设置-清除所有数据中恢复出厂设置,再打开允许安装位置来源程序开关,就可以正常安装调试了。...原创 2020-11-26 14:39:53 · 1019 阅读 · 0 评论 -
关于升级第三方组件报错 com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArc
最近项目安全风险整改,目前项目里面使用的组件版本比较低,存在一些安全漏洞,需要升级第三方组件的版本。先贴一下我的报错,有三个组件的升级会涉及到这一类报错,区别是三个组件报错涉及的包名不一样,分别是 (1)Gson 升级到 2.8.6(2)OKhttp3 升级到 4.9.0(3)Rxjava 升级到 3.0.6百度上大多数的说法都是没有使用 java 8 导致的,于是我加上了这段配置compileOptions { sourceCompatibility JavaVers原创 2020-11-04 18:34:05 · 836 阅读 · 0 评论 -
关于金融类 app 退出到任务列表进行高斯模糊的尝试
最近公司的 app 有个风险安全整改的需求,要求 app 在任务列表的时候展示要进行高斯模糊,效果如下图所示:一开始看到自己手机上(Redmi K20)的银行类 APP 都实现了这样的效果,觉得应该是可以实现的,就开始百度查相关的实现方法。但是基本上百度出来的99%都是 ios 的实现方式,安卓的几乎没有,下面是我唯一找到的两篇跟安卓相关的文章。1、https://blog.csdn.net/henkun/article/details/1027636542、https://blog..原创 2020-11-04 17:49:07 · 2292 阅读 · 4 评论 -
报错 Cannot find a setter for <android.widget.TextView android:text> that accepts parameter type ‘?‘
在使用 dataBinding 的过程中,使用 ObservableList 或者 ObservableMap 类型的变量给 TextView 设置 text 时报错:Cannot find a setter for <android.widget.TextView android:text> that accepts parameter type '?'声明如下图所示:原因是声明 ObservableList 和 ObservableMap 的时候需要指定该 List 或者 M原创 2020-09-09 11:41:12 · 8378 阅读 · 1 评论 -
关于 Android 11 更新内容的小结
看了 GDG 发布的一篇推文之后,就记录一下 Android 11 更新的一些内容,写了个小 demo1、关于 Window Insets 布局的监听器(1)通过 setOnApplyWindowInsetsListener 对屏幕布局(软键盘、状态栏、导航栏)进行监听,对布局进行调整。(2)通过 setWindowInsetsAnimationCallback 监听软键盘触发动画2、关于 ShortCut,可以将 Notification 中的 icon 设置成明显的突出效果。.原创 2020-09-09 11:09:20 · 716 阅读 · 0 评论 -
关于 mPaaS 客户端诊断功能接入过程到功能正常的排查记录
mPaaS 客户端诊断的功能无需另外接入的代码,只要项目中接入了消息推送或者移动同步组件就可以。记录一下在测试客户端诊断功能的时候失败的排查过程。先附上官方文档中客户端诊断异常排查的指导:https://help.aliyun.com/document_detail/58266.html?spm=a2c4g.11186623.2.15.1f2356eeZ288eF我的项目中是采取的消息推送通道接入客户端诊断,所以只要 MPPush 组件正常初始化,并且绑定了 UserId ,就可以开始测试。原创 2020-09-02 22:13:39 · 354 阅读 · 0 评论 -
关于 mPaaS 接入第三方推送(华为+小米)的注意事项总结
记录一次在 app 集成第三方推送的过程,总流程跟着 mPaaS 官方文档和各个推送厂商的官方文档进行就可以,主要记录自己接入的过程中忽略的一些点,导致的开发过程的滞慢。因为 mPaaS 已经集成了自建渠道的推送、华为推送和小米推送(OPPO 和 VIVO 需要另外集成 SDK),所以整个集成的过程还是比较友好的,不过因为第一次集成还是稍微花了一些时间,也有一些比较容易忽略的点,所以做一次完整的记录。不得不吐槽一下国内安卓手机推送的环境对开发者真不友好,为了保证到达率要集成好几家推送,去年看到消息说国内原创 2020-09-02 21:34:23 · 1069 阅读 · 0 评论 -
总结一下关于 Android 10 的适配(备注:只是自己项目中有关联的部分)
分区存储 1、访问特定应用目录//String externalStorageDir = Environment.getExternalStorageDirectory().toString(); //弃用 String externalCacheDir = context.getExternalCacheDir().toString(); String externalFilesDirEmpty = context.getExternalFilesD...原创 2020-07-21 19:55:19 · 450 阅读 · 0 评论 -
APP 应用内更新,下载安装包之后调起安装界面无反应/安装界面闪退返回到了 APP 页面
此项目是基于 mPaaS 框架,更新 APP 的功能最近测试提的一个缺陷,线上的 APP 更新时,点击更新下载完安装包后点击安装无法调起 APP 安装。出现问题的版本: android 10代码排查(PS:因为测试说是在 android 10 才会出现的问题,所以从一开始就朝着 android 10 适配的方向去排查问题)1 “私有目录” 的适配(安卓 10 上对于目录权限的改动大家可以自行百度) 查看安装包下载的目录,发现下载好的新的安装包是存储在报名目录下的 download...原创 2020-07-02 14:22:51 · 3328 阅读 · 2 评论 -
Android elevation 属性使用时应合理使用 padding 和 marging
这是我在开发项目过程遇到的一个问题,首先贴张图,是要实现的效果外面一层添加阴影,里面一层也要添加阴影,由于整个视图要在两边留有边距,所以我很喜欢用 paddHorizontal 属性,而我里面的子布局使用的是 match_parent,然后里层布局的阴影效果一直出不来,试了很多种办法,后面发现是因为使用 paddHorizontal 属性搭配子布局的 match_parent 属性导致阴影距离不够,所以显示不出来(也可以理解为被挡住)解决办法:不使用 paddHorizontal 属性,里层的子原创 2020-05-27 23:07:03 · 490 阅读 · 0 评论 -
android 属性动画-----实现卡牌翻转效果
需求:项目中有一个签到功能,点击签到时签到的卡牌实现 180 度翻转显示已经签到的背面。1、在 res 包下新建 animator 包,新建两个文件,进入动画 anim_in 和 退出动画 anim_outanim_in :<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schema...原创 2020-03-13 10:15:49 · 615 阅读 · 0 评论 -
关于 windowSoftInputMode 中 adjustResize 和 adjustPan 两个属性的理解 以及 输入法(软键盘)出现/收起的监听
记录最近项目中遇到的问题:1、页面布局:类似于登录注册,包含多个 EditText。为了适配屏幕小的手机,最外层套了一个 NestScrollView 用于滑动问题描述:软键盘弹出时会将整个布局往上顶,并且距离输入法会有一大段的空白导致界面很难看想要的效果:软键盘将界面顶起,但是最后一个输入项贴近输入法解决思路:adjustPan 属性适用于底部有按钮,输入法将按钮顶起的情况。...原创 2020-03-13 09:57:51 · 3070 阅读 · 0 评论 -
Android 解压字符串 + Base64解码
记录一下最近项目中用到的关于 字符串压缩解压 和 Base64加密 的相关内容需求是后台 socket 传回来的数据是经过压缩和Base64加密的1、Base64解密(这里介绍三种方式)JDK 中 sun.misc 套件下的BASE64Encoder 和 BASE64Decoder Apache Commons Codec 提供的 Base64的编码与解码功能,用到 org.apa...原创 2020-01-17 17:48:37 · 1356 阅读 · 0 评论 -
解决错误 java.lang.UnsupportedOperationException
调用 list.clear() 时报这个错误,原因是我的 list 是从数组转化过来的:list = Arrays.asList(array)原因:Arrays.asList() 返回的是 Arrays 的内部类 ArrayList, 而不是 java.util.ArrayList。Arrays 的内部类 ArrayList 和 java.util.ArrayList 都是继承自 Abst...原创 2019-10-10 19:26:24 · 755 阅读 · 0 评论 -
泛型方法的疑惑
public static final <R extends BaseResponse> Observable<R> rx_doExecuteQuick(final String API_METHOD, finalRXExecuteType type, final BaseRequest req, final Class<R> clazz)看项目代码时不...原创 2019-05-21 11:38:12 · 237 阅读 · 0 评论