- 博客(21)
- 收藏
- 关注
原创 Android10 LocationListener的onStatusChanged被废弃
当然了,如果项目搭载了第三方的sdk更好,这是下下策,有弊端:如果GPS在自定义的delay时间外,那就取不到位置信息了(也可以写一个监听这个经纬度的变化的监听),如果遇到这个问题,可以参考一下。但是有的项目,这些条件都不满足,这就导致,这个API被废弃,在GPS信号不好的地方,回调不了任何方法来让应用知道GPS信号不佳来进行响应的逻辑处理,本篇文章着重于解决这个问题。在合适的时机,延时获取SharedPreferences的值来判断是否请求到位置信息。1、创建请求位置的接口。
2023-09-28 16:04:21
734
原创 使用注解的方式解决json数据类型不一致
在使用高德的接口去获取城市信息的数据时,需要使用gson将传入的json转换成java bean,bean的属性的数据类型是唯一的。但是实际在解析json的时候,有的数据:有数据时是传入的是string类型,没有数据的时候,传入的是[](list类型);或者是有数据是[](list类型),没有数据的时候,传入的是[[]](object类型)。可以通过自定义adapter结合注解的方式,将json传入的数据类型修改成bean封装的数据类型。2、object转String。1、String转List。
2023-09-28 15:29:05
514
原创 Android12 ---- Material You 应用
背景Google android S 新特性,当你更换壁纸,整个手机主题的颜色会根据壁纸的配色方案而改变。也就说,每当你更新壁纸,你的手机界面也会焕然一新当用户在 Android 12 设备上更改壁纸时,系统会分析图像以选择一种颜色,并使用初始种子颜色通过算法选择主要(Primary)、次要(Secondary)、第三(Tertiary)和错误(Error)颜色。同时,它应用了色彩理论和可访问性规则。从这些颜色中,该算法创建从 0% 亮度(黑色)到 100%(白色)的色调调色板。环境准备...
2022-05-18 17:40:17
7158
1
原创 Android12,SCHEDULE_EXACT_ALARM权限检查值一直返回true
由于Android12升级,在调用精确闹钟的方法的时候,必须进行SCHEDULE_EXACT_ALARM权限的检查。具体操作请参考:适配Android 12的行为变更-----精确的闹钟权限_袁美丽..的博客-优快云博客_android 闹钟权限但是最近在做新机种的时候,在S平台上,虽然clock调用了精确闹钟的方法,但是没做SCHEDULE_EXACT_ALARM权限的检查,没有任何影响(正常来说,如果不处理,在调用精确闹钟的方法时肯定会crash)经过调查发现:framework给clock
2022-04-27 18:25:58
4443
3
原创 将Android.mk工程迁移为gradle项目(apk化)
项目背景:Android.mk 文件位于项目 jni/ 目录的子目录中,用于向编译系统描述源文件和共享库。Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。MK项目的代码调试通常使用命令进行编译,有的时间比较长,并且不能debug。通过将Android.mk工程迁移为gradle项目,就可以在Android Studio上进行调试,在一定程度上提高了调试代码的速率。明确作业内容:1.将mk转换成gradle2.解决编译错误:资源错误
2022-02-23 17:18:32
3425
4
原创 Browser --- 更换bookmark、homepage及常见问题
Browser的开发作业通常是:更换bookmark(书签)、homepage(预置主页)bookmark(书签)在.xml中列举出bookmark的列表,替换的网址都放这里面 <add-resource type="array" name="bookmark_url"></add-resource> <string-array name="bookmark_url"> <item>Google</item&g
2022-01-11 16:02:34
2696
2
原创 Android12升级,getCallState()弃用
问题:之前在开发作业的时候,在Android 12的环境下,不做任何处理,alarm应用中,闹钟响铃时,alarm应用会crash。报错信息:java.lang.RuntimeException: Unable to start service com.android.deskclock.alarms.AlarmService@c351e33 with Intent { act=START_ALARM dat=content://com.android.deskclock/instance
2022-01-06 16:43:46
2754
4
原创 《Android第一行代码(第二版)》源码
《Android第一行代码(第二版)》电子版链接: https://pan.baidu.com/s/1Y7bNrKuQtwy44ZSb8JwhBA 密码: i27c《Android第一行代码(第二版)》源码终端执行git clone https://github.com/yuanxinyu1234/AndroidTest.git
2021-12-30 15:08:49
3252
5
原创 Android --- ACTION_SEND调用系统分享过滤指定app(解决file域的访问限制)
手机可以使用微信、QQ、蓝牙等应用对文字、图片等资源进行分享。安卓系统本身可以很简便的实现分享功能,因为我们只需向startActivity传递一个 ACTION_SEND 的Intent,系统就为我们弹出一个应用程序列表,如果我们再指定intent为chooser的方式,那么这个列表就能每次都出现而且都是相同的操作。 使用ACTION_SEND弹出的应用程序列表展示的是系统中所有可以进行分享的应用,本文分享的是过滤掉指定的应用不展示在应用程序列表中。使用ACTION_...
2021-12-30 14:42:45
3795
6
原创 RingtoneManager --- 使用canonicalize(uri)方法规范URI
问题:默认铃声识别不到URI路径。原因:默认铃声的URI没有加后缀在RingtoneManager中,使用的是.equals()来对比Ringtone的URI,获取Ringtone的位置。(默认铃声的URI没有加后缀,所以没有遍历到)Uri uriFromCursor = getUriFromCursor(mContext, cursor);if (ringtoneUri.equals(uriFromCursor)) { return cursor.getPosition();
2021-12-28 14:23:26
1502
5
原创 Android 7.0 ----- Direct Boot模式(AppClock)
本文针对闹钟应用对于此次Android 7.0增加DB模式所需要的应对方式。Dierect Boot模式:设备已开机但用户尚未解锁设备时,Android 7.0 将在安全的“直接启动”模式下运行。简单来说,如果不做处理,在手机开机锁屏的情况下(DB模式),设置的闹钟是无法使用的。开发者网站请参考:支持“直接启动”模式 | Android 开发者 | Android Developers应对方式:1.请求在DB模式下运行默认情况下,应用不会在“直接启动”模式下运行。如果应用需要...
2021-12-24 16:20:55
2749
5
原创 适配Android 12的行为变更-----精确的闹钟权限
为了鼓励应用节省系统资源,以 Android 12 及更高版本为目标平台且设置了精确的闹钟的应用必须能够访问“闹钟和提醒”功能,该功能显示在系统设置的特殊应用访问权限屏幕中。如需获取这种特殊应用访问权限,需在清单中请求 SCHEDULE_EXACT_ALARM 权限。开发者网站请参考:行为变更:以 Android 12 为目标平台的应用 | Android Developers 简单来说就是代码中如果使用了setAlarmClock()、setExact()、set...
2021-12-17 17:36:15
11295
4
原创 Java8-排序方法(正序、倒序)
1.冒泡排序//冒泡排序public static void bubblingSort(int[] array,int ord){ boolean isSort=true;//优化 for (int i=0;i<array.length-1;i++){ isSort=false; for (int j=0;j<array.length-1-i;j++){ if (array[j]>array[j+1] &am.
2021-11-29 10:46:39
9011
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人