- 博客(78)
- 问答 (1)
- 收藏
- 关注
原创 Android 复习Path.Op.DIFFERENCE
这种是在单个控件内挖出你想要的镂空,如果想要处理不完全重叠的两个控件,使用的就是clipRect和Region.Op。绘制完成后,表现出来的就是一个灰色的矩形,中间有一个圆角矩形的部分是没有灰色的,可以看到当前控件下方的ui。// 创建一个新的路径,用于存储挖去圆形后的矩形路径。// 定义圆角的半径。// 创建一个绘制圆角矩形的路径。// 创建一个绘制矩形的路径。// 定义圆角矩形的边界。
2024-10-29 15:17:51
552
原创 Android AES解密
@param iv 初始化向量,Base64编码的字符串。* @param encrypted 加密后的数据,Base64编码的字符串。* @param key 密钥,Base64编码的字符串。* @return 解密后的字符串,如果解密失败则返回null。* 解密AES-256-CBC加密的数据。两种常用的解密,记下来以后不用找。
2024-10-24 14:35:48
411
原创 Android google测试人员添加
记下来先把测试人员添加到测试用列表里面点击箭头会进入测试人员列表,把你想要添加的测试人员的邮箱添加进去,然后保存把下面的连接发给要添加的测试人员,让他用测试账号登录谷歌,然后在浏览器中打开这个连接记得看一下许可测试人员里面有没有你想要添加的用户,不然一切都是白干
2024-09-24 17:59:42
404
原创 Android 结合Opencv检测画面中的圆
Imgproc.circle(input, center, maxRadius, Scalar(255.0, 0.0, 0.0), 2) // 使用不同的颜色突出显示最大半径的圆。* 当摄像机预览开始时,这个方法就会被调用。在调用该方法之后,框架将通过onCameraFrame()回调向客户端发送。*在调用这个方法之后,不会通过onCameraFrame()回调来传递任何帧。* 当摄像机预览由于某种原因被停止时,这个方法就会被调用。* 当需要完成框架的交付时,将调用此方法。版本可能比较老,凑合用吧。
2024-09-09 16:09:05
817
1
原创 Android 关于raw内视频文件的播放
除了这种方式,其他方法都播不了,放assets下面也播不了,但是同一个文件夹内的其他视频文件又可以播。先记录下,以后不用找。
2024-08-23 09:20:17
592
原创 Android AGP升级到8.x导致的混淆问题(Class cannot be cast to java.lang.reflect.ParameterizedType)
最近升级了一下工具,结果打包的时候出问题了,类型转换异常(Class cannot be cast to java.lang.reflect.ParameterizedType)乍一看是混淆规则没写好,bean类转换出问题了,结果研究了一晚上才发现是AGP升级到8.x导致Retrofit的混淆问题。# 使用R8全模式,对未保留的类剥离通用签名。挂起函数被包装在使用类型参数的continuation中。# 如果不保留,R8完整模式将从返回类型中剥离通用签名。# 在R8全模式下,对未保留的类剥离通用签名。
2024-07-16 11:11:05
614
原创 Android FirebaseApp.initializeApp(this)无法初始化
在清楚缓存重启,重构项目,升级com.google.firebase:firebase-bom版本,修改初始化位置都失败后,把相关依赖从bom改为单独依赖。昨天把Android studio升级,迁移项目之后,爆出FirebaseApp.initializeApp(this)无法初始化的错误。然后就可以了,非常神奇,记录一下。
2024-06-12 09:23:06
800
原创 Android 复习string.xml中的替换符
转义符,string.xml中不能单独使用 ' 符号,必须添加转移符。%1$s $s代表期望一个字符串替换内容,%1代表参数顺序。// 输出: My name is Alice Smith.)%1$d $d代表期望一个整数替换内容。\n 转行。\t 空格。// 输出: Get 1 Coins)
2024-05-30 09:51:16
781
原创 android CoordinatorLayout使用
需要注意的是,在AppBarLayout嵌套的CollapsingToolbarLayout的内容是会跟着滑动的,而CollapsingToolbarLayout外AppBarLayout内的是不会跟着滑动的(tvTitle会停留在屏幕顶部)app:layout_behavior="@string/appbar_scrolling_view_behavior"也是必须的,表示绑定的控件。app:layout_scrollFlags="scroll"属性是必须的,否则对应的内容不会跟着滑动。
2024-03-22 09:24:13
693
原创 android 自定义键盘长按弹窗
KeyboardView的onLongPress是长按监听,通过onLongPress可以获取键盘上用户长按的字母。keyLetters就是你的弹窗展示的候选字的集合,letterTextView就是弹窗内展示选中字的控件。配合onTouchEvent可以做到弹出弹窗后,选择弹窗内容。// 根据手指滑动的位置计算选中的字母。自己记忆,下次不用找。
2024-01-24 17:08:29
698
原创 android 自定义软键盘的显示和隐藏
在InputMethodService中有这两个方法可以看到软键盘显示状态。在activity中可以通过这种方法看到软键盘显示状态。// 获取当前布局的可见高度。// 获取屏幕的高度。// 计算键盘的高度。
2024-01-24 16:59:00
603
原创 android 生成facebook的密钥散列
另外提一句,在GP后台首次上传app bundle时,我建议这里直接【选择签名密钥】而不是直接上传aab,这样可以保证【应用签名密钥】和【应用上传密钥】一致,否则GP后台给你二次签名,你在其他平台用的本地签名,那就会导致facebook登不上,支付宝微信拉不起来等问题。keytool -exportcert -alias (你的签名文件别名) -keystore (你的签名文件的绝对路径) | openssl sha1 -binary | openssl base64。
2023-12-27 09:30:24
930
原创 android 关于admob聚合ironsource
另外,如果开着vpn但是申请不到广告或者ironsource初始化失败,你可以试试关闭vpn再测一次,我的就是关闭vpn后ironsource才初始化成功。附带一个坑,admob聚合其他平台的时候,填他的信息一定不能带空格,尤其是appKey这栏。除了google文档上的,还需要自行初始化ironsource。自己用的,以后不用找。
2023-11-21 09:21:02
327
原创 android 自定义键盘占据焦点需要两次返回键才能关闭当前页
关闭其他页,返回当前页时,自定义键盘已经隐藏,但是焦点仍在自定义键盘上,所以通过虚拟返回键关闭页面时需要按两次(第一次取消自定义键盘的焦点,第二次关闭当前页)当前页弹出自定义键盘,然后通过自定义键盘跳转其他页,此时自定义键盘隐藏。可以通过这种方式清除软键盘焦点。也可以通过这种方式打开软键盘。具体的使用看当时的需求。自己用的,以后不用找。
2023-11-17 09:23:50
132
原创 android 获取软键盘高度
部分手机可能设置了底部虚拟导航栏等,导致获取的屏幕高度需要再减去hideKeyBoardHeight得出来的高度才是正确高度,直接使用showKeyBoardHeight可能导致mBinding.clBottom和软键盘之间有底部虚拟导航栏的高度大小的空隙。mBinding.clBottom是底部控件,软键盘弹出时放在软键盘上方,软键盘隐藏时在最底部。// 获取当前布局的可见高度。// 获取屏幕的高度。// 计算键盘的高度。自己用的,方便以后找。
2023-11-09 14:27:10
861
1
原创 android 关于admob聚合applovin的坑
光看admob的文档不会创建applovin的应用,必须走一遍applovin的初始化。--applovin广告相关-->//admob嵌入applovin。记下来,下次不会掉同一个坑。
2023-10-12 17:55:04
1201
原创 android 将TextView中的文字变色
这里是将TextView中的一个单词变色, text是原文, changeColorText是想要变色的单词。// 创建一个ForegroundColorSpan,设置要变色的文字的颜色。// 创建一个ForegroundColorSpan,设置要变色的文字的颜色。// 将spannableString设置给TextView。// 将SpannableString设置给TextView。// 设置下划线的起始位置和结束位置。// 获取要变色的文字的起始和结束位置。// 设置下划线的起始位置和结束位置。
2023-10-09 09:25:43
852
原创 android 记androidstudio gradle7.0以后
7.0以后新建的项目里,项目级的build.gradle只有plugins{},新建项目的时候忘记在哪添加了,现在记录一下。另外,如果想抽出一个config.gradle管理库也是在这里添加,在其他地方添加是无效的。
2023-09-28 17:54:31
491
原创 android 在后台任务栏隐藏应用程序
属性来隐藏应用程序的任务条目,即在最近使用的应用程序列表中不显示应用程序的图标,需要配合android:launchMode="singleInstance",单独使用。如果应用退居后台的时候,正在活动的activity没有设置这两个属性,则不会隐藏应用程序。
2023-09-13 09:08:13
3110
原创 android 申请电池优化,自启动,无障碍权限
** 自启动有点麻烦,没心情做机型适配的可以直接跳转系统界面。//方法2、触发系统对话框。可以跳转到系统的无障碍功能,并高亮自己的app。* 引导开通-电池管理优化。* 获取应用详情页面intent。两种方法,可以看自己使用哪种。* 跳转:「应用详情」界面。* 引导开通-无障碍服务。
2023-08-17 11:58:41
1620
原创 android 海外上架空签名包配置签名
C:\Program Files\Java\jdk-11.0.11\bin>jarsigner -verbose -keystore 签名文件地址 -signedjar 签名后空包地址 空包地址 签名文件别名。cmd,进到安装的java文件目录,然后敲代码,基本就是这么个流程,写出来加深一下记忆,以后不用找。今天海外市场上架,需要给空包签名。
2023-08-11 15:05:09
145
原创 android 使用WorkManager替换Service
Service在8.0之后需要做各种适配保活,还有通知栏的通知要处理,不想麻烦的朋友可以考虑使用WorkManager替换Service。// 返回 Result.success() 表示任务执行成功。
2023-07-11 11:40:51
759
原创 android 关于webview在P之后的变动
WebView.setDataDirectorySuffix(processName)//为 WebView 设置一个特定的数据目录后缀,以便每个应用程序的 WebView 数据目录都是唯一的。android P之后,不可多进程使用同一个目录webView,需要为不同进程webView设置不同目录。在特殊机型或者刷机导致的系统webview被卸载或者文件缺失的情况下,--开启安全浏览功能-->
2023-07-10 12:01:05
475
原创 android 关于string.xml的特殊符号
替换 &字符,需要使用转义字符 & 来替代它。替换 "字符,需要使用转义字符"来替代它。字符,需要使用转义字符 ' 来替代它。字符,需要使用转义字符 来替代它。字符,需要使用转义字符。字符,需要使用转义字符。
2023-06-16 10:32:09
631
原创 android 关于firebase In-App Messaging 的使用
同时,请注意FirebaseInAppMessaging.getInstance().setMessagesSuppressed(true),这代表着禁止 Firebase In-App Messaging 在应用程序中显示消息,设置之后也是看不到应用内消息的。,你还需要再google cloud查看你的应用的服务,看一下Firebase In-App Messaging API是否已启用,如果未启用,那么接入sdk也无法收到应用内消息。除了根据firebase的文档接入它的sdk。
2023-06-09 09:13:23
330
原创 Kotlin 简单的闹钟代码
putExtra(AlarmClock.VALUE_RINGTONE_SILENT, true) //一个 content: URI,用于指定闹铃使用的铃声,也可指定 VALUE_RINGTONE_SILENT 以不使用铃声。// .putExtra(AlarmClock.EXTRA_RINGTONE, ringtoneUri) //一个 ArrayList,其中包括应重复触发该闹铃的每个周日。.putExtra(AlarmClock.EXTRA_HOUR, hour) //闹钟的分钟。
2023-04-21 16:43:30
728
原创 Android 关于集成Kochava
光看官方文档我根本集成不了,他的官方文档我没看到有gradle界面的东西,F12也看不到。这里是我扒出来的,他的官方文档没这个连接,不知道怎么想的。
2023-03-14 09:43:18
691
原创 Android 关于unable to access ‘xxx‘: Connection was reset, errno 10054
打开Android studio正想上传代码的时候报这个"unable to access 'xxx':Connection was reset, errno 10054",我就非常纳闷了,昨天还好好的今天就不行了?,ipconfig /flushdns 刷新dns,或者 git config --global http.sslVerify “false”,还有切换账号注销token重新申请的。最后发现是我没打开代理,上传到github的时候被墙卡住了,这里先记下来,以后不用去试错了。
2022-11-22 16:40:10
728
原创 kotlin 使用java文件的报错记录
在kotlin中使用java文件,然后突然报错Unresolved reference,只针对kotlin中的java文件,其他没有问题在项目中,本来是包名+package+name.java的格式后来想进一步细分,变成了包名+package+package+name.java的格式,然后重新编译的时候就报错了(Unresolved reference)排查后发现,文件格式是包名.xxx.yyy.sss.java就会报错但是如果是包名.xxx.sss.java就没有问题,不清楚kotlin在搞什么,换了ko
2022-07-11 11:59:58
1111
原创 Android 获取SHA1
久了没有获取这玩意,一时间不记得了,这次记下来,下次不用找先找到keytool.exe文件的位置我的是C:\Program Files\Java\jdk1.8.0_281\bin,算是比较标准的位置然后打开cmd cd进这个位置接着输入 keytool -list -v -keystore “C:\xxx\xxx.jks”注意签名文件的路劲要用“”,不然会报非法...
2022-06-22 14:41:38
534
原创 Android 关于切换远程分支
项目用的gitee仓库,提交代码的时候有点问题,记下来以后不用找git checkout 分支名 切换到分支切换分支的时候出问题了,导致代码提交不了,然后才发现我是从本地分支直接切远程分支,必须先把本地分支跟远程分支关联起来才能提交git branch -a 查看你的所有本地分支和远程分支* master temp remotes/origin/HEAD -> origin/master remotes/origin/W remotes/origin/master master就是你当前的
2022-06-15 16:43:12
900
原创 Android studio 调色
editor->color cheme->general->Text->default text 设置护眼绿背景 #C7EDCC4.2的调色找了半天才找到
2022-06-14 11:03:56
484
原创 Android 12 浪费我半小时
今天新建了一个项目,准备跑的时候报错Manifest merger failed : Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics
2022-05-30 17:50:29
165
原创 Android 创建垃圾代码
因为最近的工作原因,需要创建垃圾代码避免代码相似度过高找到一个库,使用方法如下根目录下的build.gradledependencies { classpath "com.github.qq549631030:android-junk-code:1.1.2"}allprojects { repositories {maven {setUrl("https://jitpack.io")}}}app目录下的budild.gradleappl...
2022-05-30 15:39:10
2270
原创 Android studio 关于第三方库的一个改动
原本build.gradle里面的allprojects取消,转到settings.gradle的dependencyResolutionManagement{repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)repositories {}}具体怎么转还在摸索,先记下
2022-05-06 10:31:56
615
原创 Android 画圆
项目要一个圆,忘记怎么画了,先记下来,以后不用找<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <!-- 填充颜色 --> <solid android:color="@color/transparent"></solid> <!-- 线的宽度,颜色灰色 --> <st
2022-01-06 11:34:30
2576
OpenCVLibrary310
2024-09-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人