- 博客(131)
- 资源 (10)
- 问答 (1)
- 收藏
- 关注
原创 Compose在xml中使用滑动冲突处理
SmartRefreshLayout+CoordinatorLayout+ComposeView(ComposeView这里又是一个LazyColumn)在现有Android项目中使用Compose可能存在滑动冲突问题,例如。如果基于以上原因出现滚动问题,可以在Compose中使用以下方式解决。
2024-05-22 17:57:58
478
原创 Compose之LazyColumn、LazyRow卡顿处理
当我们使用androidx.compose.ui:ui:1.3.1来使用LazyColumn时,可能会发现莫名其妙的卡顿,因此我们可以更改依赖来解决。在使用LazyColumn时,发现向下滑动不卡顿有Fling效果,向上滑动卡顿没有Fling效果,排查各种因素布局嵌套、Item复杂性等均没有问题。最终发现由于引用不同的依赖库导致。
2024-05-22 17:47:33
677
原创 Java转Kotlin调用JNI方法异常
经过上述方案对比发现原来Java中的方法的static关键字被移除了,因此在方法名上增加@JvmStatic即可解决上述异常。当我们使用Android Studio默认转换一个Java调用JNI的类时,我们可以使用Tools-> Kotin。->Show Kolin Bytecode 再点击Decompile来查看转换Kotlin后与我们原有Java文件有和不同。校验参数后没有任何变化,经过分析验证找到解决方案。
2024-05-10 11:53:51
270
1
原创 Android 开发投屏软件
作为Android开发总会有给他人share自己APP情况,一般在线会议投屏,总是需要在手机上安装对应会议软件特别麻烦~Android Studio已经自带了投屏能力,可以在电脑端直接控制手机,同步起来非常方便简单。找到tools下的Device mirroring 勾选开关Apply以后即可。Android Studio投屏,简单高效、不卡顿,大家用起来吧。以上开关打开后找到Device Manager。接下来就可以看到手机投屏了,可以在电脑端控制手机非常简单方便。
2024-03-29 14:35:03
939
1
原创 Mac 免费模拟器推荐适配m1芯片
有些mac m1芯片可能没有适配,如果使用m1芯片推荐大家使用mumu pro模拟器,MuMu模拟器Pro率先适配了Apple M 系列芯片,并且除了能够通过模拟器使用安卓应用之外,MuMu还搭配了智能按键适配、模拟器/应用多开、等诸多功能,无论是用来玩游戏还是用于调试开发安卓应用,都非常合适,若有需要可私信我获取免费安装使用教程。它具有良好的兼容性和稳定性。:MEmu 是一款专注于游戏体验的 Android 模拟器,它在 Mac 上提供了流畅的游戏运行和良好的性能。它支持键鼠映射、多开等高级功能。
2024-03-12 10:09:53
10398
10
原创 Android 发布依赖库到maven仓库
请注意,要发布到Maven Central(中央仓库),您需要遵循一些额外的步骤。您需要在Sonatype Nexus Repository Manager中注册一个账号,创建一个JIRA issue并提交请求,审核通过后您就可以将自己的库发布到Maven Central了。当您创建一个新的Android库项目时,Gradle构建文件通常会自动生成。,Gradle将把您的库转换为Maven格式,并上传到您配置的Maven仓库中。文件中为您的库添加Maven发布插件,并配置相关参数。
2023-04-06 13:04:01
391
原创 get token failed, com.huawei.hms.common.ApiException: 907135702: certificate fingerprint empty
get token failed, com.huawei.hms.common.ApiException: 907135702: certificate fingerprint empty
2022-07-03 19:29:57
4549
2
原创 error: unexpected element <queries> found in <manifest><application>微信SDK异常
<queries> found in <manifest><application>
2022-07-03 19:11:52
1753
原创 linphone基于sipserver实现音视频对讲
一、技术背景因业务需求需要基于sipserver实现音视频对讲,开源代码linephone即可实现。开源库地址:https://github.com/topics/linphone二、基于安卓客户端实现添加build.gradle依赖repositories { maven { // Replace snapshots by releases for releases ! url "http://linphone.org/releases/mav
2021-12-21 16:16:04
3839
原创 android面试题2022
面试题除了你不会的其余都会,除了你知道的其余都知道,除了你答不上来的答上来了。不积跬步无以至千里,多思考多学习,祝你早日成为大佬。一、mt1.内存优化常用手段2.leacknanry的原理3.腾讯bugly原理4.自己实现一个日志收集的思路,如何收集crash信息5.handler原理及源码6.常见的内存泄漏的方式7.bitmap是在什么内存里1 android2.2(API level 8)和更早的版本,垃圾回收时,会阻塞UI线程,造成卡顿。而2.3(API le
2021-12-20 16:39:07
3552
原创 java双重校验锁单例模式分析
一、问题探究1.volatile关键字的作用?2.第一次判空和第二次判空的作用3.synchronized的位置可以改变吗?二、代码实现public class Singleton { private volatile static Singleton singleton; private Singleton (){} public static Singleton getSingleton() { if (singleton == nu
2021-12-12 13:55:15
674
原创 高德地图报错updatePrivacyShow、updatePrivacyAgree若未正确设置有崩溃风险-解决方案
一、报错现象集成高德地图出现崩溃,以前没有问题,报错信息为:updatePrivacyShow、updatePrivacyAgree若未正确设置有崩溃风险二、问题原因由于个人信息保护法的实时,高德地图sdk新增两个方法来保障信息安全。sdk官网也有提示信息三、问题修复无论是在导航sdk、定位sdk、或者其他sdk初始化前调用updatePrivacyShow、updatePrivacyAgree这两个方法设置一下即可解决。例如定位SDK可以调用AMapLocationClient.update
2021-11-19 15:26:13
7639
原创 Android违规收集个人信息问题修改
一、何为违规收集个人信息根据国家网信办等四部门联合发布《App违法违规收集使用个人信息行为认定方法》(下称《方法》),为App运营者自查自纠和网民社会监督提供指引,明确9种行为可被认定为“未经用户同意收集使用个人信息”以下几点需要注意,1.在App中没有隐私政策,或者隐私政策中没有收集使用个人信息规则;2.在App首次运行时未通过弹窗等明显方式提示用户阅读隐私政策等收集使用规则;3.隐私政策等收集使用规则难以访问,如进入App主界面后,需多于4次点击等操作才能访问到;4.隐私政策等收集使
2021-08-10 10:16:45
1828
2
原创 Android Camera2自定义相机绿屏
一、问题现象在项目中使用Camera2自定义相机拍照,在其他手机上没有问题、在华为P40上、相机预览出现绿屏,绿屏如下所示二、问题原因预览设置高宽参数不符合相机高宽的话就会有绿条原来的设置代码如下imageReader = ImageReader.newInstance(largest.getWidth(), largest.getHeight(), ImageFormat.JPEG, 2);三、问题解决调整设置的高度和宽度即可解决问题。width和height为预
2021-06-24 11:00:45
2405
原创 Android NFC 读取IC卡的简单封装
一、NFC简介NFC是一种近距离无线通信技术,一种非接触式的识别和互联技术。NFC由非接触式射频识别标准(RFID)及互联互通技术演变而成,通过在芯片上集成了感应式读卡器、感应式卡片和点对点三种功能,能够近距离进行识别和数据交换。NFC支持双向连接和识别,通过NFC技术,可以简化整个认证识别过程,使电子设备间互相访问更直接、更安全和更清楚。NFC Forum 负责制定NFC相关的技术标准,通过NFC认证测试,保证各厂家的NFC产品符合NFC规范。二、工具类封装import andro
2021-05-10 16:13:38
2320
原创 华为PUSH推送所有Token都不合法
华为PUSH推送所有Token都不合法问题出现解决方案问题出现今天在集成华为Push的时候,使用平台推送出现了如题错误,所有Token都不合法。push相关的配置信息都已经成功填写正确,并且客户端已经获取到Token,但是在平台上推送这个token的通知消息时报错。经过几次验证。解决方案如下解决方案最终的解决方案就是等待。。。没错。就是等待10分钟后再去发送push消息,即可成功,在这个人判断原因是刚创建好的应用就去发送推送消息,华为的后台可能没有反应过来。所以要让数据飞一会。就可以正常推送了.
2021-04-20 21:15:00
2656
3
原创 Android应用组件命名与已安装应用有冲突
1.问题现象最近在开发Anroid SDK对外提供,主要是不同APP集成我们的SDK,2.问题原因主要是在sdk中有了相同的组件命名导致的冲突,导致无法在同一个手机中安装两个不同APP。3.问题修复1、针对provider进行修改,使用${applicationId}进行替换固定包名<provider android:name="android.support.v4.content.FileProvider" android:authorities="..
2021-03-26 15:12:20
1947
原创 LeakCanary2.6版本原理分析-如何检测内存泄漏?
一、介绍LeakCanary是一款开源的内存泄漏检查工具,在项目中,可以使用它来检测Activity是否能够被GC及时回收。帮助我们提高APP的稳定性。官网地址:https://square.github.io/leakcanary/getting_started/二、使用要使用LeakCanary,请将依赖项添加到应用程序的build.gradle文件中:dependencies { // debugImplementation because LeakCanary shou.
2021-01-28 21:42:49
769
1
原创 Android java.lang.IllegalArgumentException原因及解决
一、问题现象今天在检测bugly异常日志的时候发现了这个异常 java.lang.IllegalArgumentException 掐指一算,这个是参数错误,查看到具体的代码时发现有一个参数要求是int类型,结果传了Integer 而且代码被try catch了。所以没有及时发现。二、问题解决原因已给、对症下药。Integer改为int总是遇到这个异常不要慌、不要忙、慢慢查找莫悲伤。加油打工人。光看不赞,纯属扯淡!......
2020-12-25 14:51:21
23462
1
原创 Android aar中保存文件no such file or directory的问题解决
一、问题现象在开发aar中有一个保存图片的功能、代码如下,但是在demo中保存是没有问题的,给宿主APP集成以后再调用这段代码就会报no such file相关异常、权限相关已经获取,bitmap也不为空, public static String saveImageToGallery(Bitmap bmp, String bitName) { if (bmp == null) { Log.e("bingo", "bitmap is null");
2020-12-21 11:47:27
1626
原创 Android HTTP 设置UA(User-Agent)及自定义
一、什么是UAUser-Agent就是告诉网站服务器,访问者是通过什么工具来请求的,或者自定义信息、例如手机型号、系统版本、app版本、渠道号、便于我们对数据的统计二、客户端如何设置UA1.如果APP的网络请求时okhttp。Request request = new Request.Builder().url(url) .removeHeader("User-Agent")
2020-12-18 14:03:11
8588
2
原创 Android SurfaceView预览相机黑屏问题解决方案
一、问题现象最近有一个自定义相机预览开启和关闭的需求、返现每次预览相机的时候都会出现黑屏1S左右才能渲染出来。二、问题分析主要是surfaceview默认绘制背景就是黑色的,然后通过查找大部分博客文章都是让sv.setZOrderOnTop(true);sv.setZOrderMediaOverlay(true);这两个属性、有可能有效有可能无效,因为对于我这种现象没有解决,所以在此基础上又增加了几行代码、最终解决问题三、解决方案1、使用动态添加的方式添加surfaceV
2020-12-09 19:50:47
4307
5
原创 小米手机相册选取后的intent为空?
一、问题现象在小米手机选择相册图片-裁剪后发现拿不到图片 展示不出来,通过debug发现小米手机上的Intent返回了空@Overridepublic void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data);}二、问题解决因此小米手机的相册选择图片需要进行特殊处理 /**
2020-11-26 10:36:21
892
7
原创 java.lang.NoSuchMethodError: No static method create()Lorg/webrtc/EglBase
一、问题现象使用WebRtc的时候报异常:java.lang.NoSuchMethodError: No static method create()Lorg/webrtc/EglBase;EglBase.Context eglBaseContext = EglBase.create().getEglBaseContext();二、解决方案1.app的build.gradle配置compileOptions { sourceCompatibility = 1.8 .
2020-11-17 12:04:36
1282
原创 Android内存泄漏检测工具--leakcanary
一、LeakCanary简介LeakCanary是一个自动检测内存泄漏的工具由Square公司为Android开发者提供的。LeakCanary本质上是一个基于MAT进行Android应用程序内存泄漏自动化检测的的开源工具,我们可以通过集成LeakCanary提供的jar包到自己的工程中,一旦检测到内存泄漏,LeakCanary就好dump Memory信息,并通过另一个进程分析内存泄漏的信息并展示出来,随时发现和定位内存泄漏问题,而不用每次在开发流程中都抽出专人来进行内存泄漏问题检测,极大地方便了A
2020-10-26 15:50:20
1388
1
原创 Android monkey测试提高稳定性
1. 打开设置其他高级设置开发者选项启用严格模式2. 连接电脑,在命令提示符下执行以下命令:adb shell monkey -p +被测apk的包名 -v -v --throttle 300 --pct-touch 30 --pct-motion 20 --pct-nav 20 --pct-majornav 15 --pct-appswitch 5 --pct-anyevent ...
2020-09-22 10:22:55
332
原创 Cause: couldn‘t make a guess for 解决方法
一、问题现象build安装APK时、Android Studio报错Cause: couldn't make a guess for使用命令gradlew clean 结果 build 成功二、问题解决此问题是由于使用databinding导致、所以一般去xml文件中查找、发现我的type传值为空了、或者你的name命名有问题也会报这种错误...
2020-08-28 19:47:50
4868
1
原创 Android集成华为Push及注意事项
一、华为push集成注册账号?集成sdk?扒拉扒拉等等请看官方文档、https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/android-client-dev-0000001050042041#ZH-CN_TOPIC_0000001050042041__section876955375919二、华为push概览(内容来自华为官网Step1与Step2,开发者的App集成Push SDK,再调用HmsIn
2020-08-24 20:50:33
804
原创 Android greendao数据库的使用
一、集成方式1.在app目录下的build.gralde集成apply plugin: 'com.android.application'apply plugin: 'org.greenrobot.greendao'dependencies { //数据库 greenDao implementation "org.greenrobot:greendao:$greendaoVersion" }greendao { schemaVersion 1 //数
2020-07-21 17:58:41
227
原创 Android websocket unknown scheme: https
一、问题现象在Android使用WebSocket时报错:unknown scheme: https二、问题解决你连接的URL地址可能为:http://xxxx或者https://xxxx,此时将URL改为:ws://xxxx或者wss://即可解决问题。
2020-06-08 17:30:22
1166
原创 Android Studio 3.6 Code Format 导致XML错乱
一、问题现象更新Android Studio版本至3.6.3 写完XML布局文件时去format代码,发现我的控件XML位置错乱了,二、问题解决找到Preferences —> Editor —> Code Style —> XML —> Android —> Set from… —> Predefined Style —> Android-->Apply即可解决...
2020-05-28 16:05:58
321
libchecker检查器
2024-06-17
slidingmenu
2016-08-01
Android开发如何实现电话的自动接听
2016-08-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人