自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 View Binding新添加的View全带问号解决方法

Android View Binding新添加的View全带问号解决方法

2022-12-21 21:12:55 395 1

原创 Java定时器选择

1. 计时器性能更好,但是写起来稍微复杂一点。如果是非常短暂的延迟,用死循环也未尝不可。2. 一般来说能不用死循环的尽量不用死循环!3. 如果你使用的是JDK1.5以上的,可以使用ScheduledThreadPoolExecutor来完成Timer的功能,这个实现起来简单,而且相比timer的缺陷进行了弥补。4. 那就看你程序对时间的要求高不高,循环内处理时间长不长了。用死循环的话,它执行的时间不是固定的(每次执行完一次任务时间+睡眠时间)用计时器的话,它是每隔固定时间执行一次。

2022-11-29 23:11:16 1044

原创 解决Spring Boot接口返回String格式Json加反斜杠问题

解决因Spring Boot接口返回字符串格式的JSON, 双引号前面会加上反斜杠\转义, 导致端反序列化时失败问题.

2022-11-29 01:17:29 7681 2

原创 Android TabLayout选中Tab后移动到所选tab的位置

当tab数量非常多, 要选中的tab在屏幕之外时, 就无法显示被选中的tab了, tab虽然是被选中状态了, 但是被选中的tab还在屏幕外面, 这时候是不可见状态.

2022-08-21 22:17:40 2415

原创 Jetpack Compose 自定义流式布局

效果:@Composablefun StaggeredGrid( modifier: Modifier = Modifier, content: @Composable () -> Unit) { Layout(modifier = modifier, content = content) { measurables, constraints -> // 不要进一步限制子视图,用给定的约束测量它们测量的子视图列表 val place

2022-04-13 11:50:36 801

原创 Jetpack Compose for Desktop 打包生成Windows的Msi安装包和exe可执行程序 exited with 311 code

创建Compose for Desktop项目, 用IDEA默认生成的代码进行打包.打包环境:IDEA 2021.3.3kotlin 1.5.31JDK jdk-15.0.2_x64(此版本打包失败, 改用jdk-16.0.2_x64成功)Gradle 7.1.1org.jetbrains.compose 1.0.0Windos 10 专业版 21H2build.gradle.kts```kotlinimport org.jetbrains.compose

2022-03-26 13:22:57 9998 4

原创 Maven dependencyManagement 详解

dependencyManagement说明 (以下简称:《依赖管理器》)注意:《依赖管理器》中的依赖必须明确的指定依赖版本号,不然子模块引入该依赖后,将继承父模块《依赖管理器》中的设置,如果父模块的《依赖管理器》中没有设置依赖的版本号, 会导致子模块无法下载该依赖。《依赖管理器》作用就是用来统一管理依赖版本号的,所以在父模块中可以添加所有子模块需要用到的依赖,然后统一指定版本号。子模块引入依赖时会继承父模块《依赖管理器》中设置的版本号设置。注:《依赖管理器》不会下载它里面配置的依赖。例外:上面提

2021-04-20 22:51:50 4445

原创 BottomNavigationView+Navigation 添加底部导航菜单切换时的fragment过渡动画animation

Navigation默认的透明度动画,只有300毫秒,通过BottomNavigationView切换fragment时,几乎看不到过渡动画的效果,开始还以为没有动画。开始在网上查找相关资料,最后找到这个比较靠谱:https://stackoverflow.com/questions/61541455/animation-for-bottomnavigation-fragments-with-architecture-navigation-components参考上面资料写了如下代码,通过这种方式确定

2021-03-17 14:42:42 1190

转载 Android Studio 手动下载Gradle配置的方法

问题(1) Android sutdio第一次打开一个工程巨慢怎么办?(2) 手动配置Gradle Home为什么总是无效?(3) 明明已经下载了Gradle,配置了gradle home,为什么打开工程还是去自动下载Gradle?需要解决上面问题,需要了解一下知识。Android Studio怎么知道该用哪个Gradle呢?AS一个项目所用的Gradle是由我们的工程中下面这个文件决定的:{your project}/gradle/wrapper/gradle-wrapper.proper

2021-03-17 00:05:35 21463 3

原创 Navigation Activity xxxxxx does not have a NavController set on 2131230958

需求:Navigation 与 BottomNavigationView 一起使用运行报错如下:Caused by: java.lang.IllegalStateException: Activity package.activity.MainActivity@2e79c760 does not have a NavController set on 2131230958报错代码,就是findNavController是报错: private fun initNavigation() {

2021-03-16 18:51:20 1896 3

原创 Android BottomNavigationView修改导航文字大小无效的解决方法

网上搜索到的大部分修改BottomNavigationView文字大小的方式,都是通过dimens.xml文件覆盖BottomNavigationView 底部导航栏默认使用的dimen来达到修改的效果,但是在新的版本中这样已经无效了。 <!--修改默认(未选中)的文字大小 --> <dimen name="design_bottom_navigation_text_size" tools:override="true">12sp</dimen> &l

2021-03-04 14:26:17 2578 3

原创 Android Studio 构建项目时提示failed to find build tools revision 23.0.3

Android Studio 构建项目时提示如下此类错误: failed to find build tools revision 23.0.3failed to find build tools revision 24.0.0原因:是Android Studio的SDK Tools中没有下载错误提示的版本号。解决方法1:下载错误提示中的版本号;选择需要下载的版本号,然后应用,Android Studio就会开始下载,等下载完成了就可以重新构建了。解决方法2:在app模块下的buil

2021-02-04 15:33:49 3488

转载 Retrofit + Kotlin 请求时报错:Parameter type must not include a type variable or wildcard

使用Retrofit + Kotlin请求接口时,遇到问题,报错日志:Parameter type must not include a type variable or wildcard: java.util.Map<java.lang.String, ?> (parameter #1) for method NetworkRequestService.getLotteryNumber代码如下:interface NetworkRequestService {

2020-08-09 22:47:54 5027 2

原创 BGAQRCode-Android扫描二维码,如果含有中文时出现乱码的解决方法!

使用ZXing或者ZBar都试过了,扫描后中文变成了乱码,在作者的git开源项目里也没有找到解决方法。最后解决方法是:查询乱码的原始编码,看看是什么编码,然后转回中文编码,最终问题解决。二维码扫描结果如下:复制乱码部分去网页:http://www.mytju.com/classcode/tools/messyCodeRecover.asp 查询,从结果可以看出,现在的乱码是iso-8859-1编码,而原来的编码是GBK,这就好解决了,编码转换一下即可:编码转换后的,还原了正确的结果:...

2020-07-25 23:04:31 1428

原创 Chrome开发人员工具Network保存的请求记录HAR文件如何打开,怎么解析?

之前的Network是没有导入HAR文件功能的,最近的新版本有了重新导入HAR文件的功能,非常棒的一个功能,所以必须要分享出来给大家。导出HAR文件有两两种方法:1、随便选择一条请求记录然后右键选择Save all as HAR with content即可导出请求记录为HAR文件。2、工具栏面板上有个向下的箭头(Export HAR…)点击它也可导出请求记录为HAR文件。导入HAR文件到Network:工具栏面板上有个向上的箭头(Import HAR file…)点击它可以导入HAR请求记录

2020-07-05 21:08:32 10560

原创 Android Studio中使用AIDL以及couldn't find import for class错误、Make后AIDL生成的java文件为空文件等问题解决方法!

以下例程时在Android Studio 3.5.3版本下完成的,AS版本不同AIDL生成的java文件路径也有所不同。在Android Studio下如何创建aidl文件和生成可被其他类使用的java文件:1、首先你需要在工程module目录下的src下main中新建一个aidl文件夹,操作方式如下:2、创建后Android studio会自动在mian下新建aidl文件夹,并且在aid...

2020-01-10 15:44:37 4734

原创 Android生成远程服务AIDL对应的java文件失败原因

在生成AIDL相对应的JAVA文件时总是生成空文件,后来找到原因是aidl文件中含有中文注释的原因,把中文注释去掉后java文件生成成功,经过测试有时候aidl文件中有部分中文注释不会导致java文件生成失败,但是生成成功的java文件中的中文注释也是乱码,设置了IDE编码和文件编码为UTF8后还是无法解决问题。aidl文件中没有中文注释时生成的java文件:aidl文件中有中文注释时生成的...

2020-01-06 23:44:54 958 1

原创 Android Potential NullPointerException. The resource is missing in some of layout versions

在Android的kotlin项目中使用了lateinit关键字来延迟初始化成员变量。运行在api25以下(含25)的手机上时APP会崩溃,报IllegalStateException异常,提示tv_conten must not be null 。运行在api25以上的手机上时APP完成正常运行。定位到报错的代码,上面提示:Potential NullPointerException. T...

2019-11-26 22:28:32 710

原创 Android中Kotlin协程http并发请求的正确开启方式

关于Kotlin协程在实际使用中的一点个人经验总结,下面是一个协程使用案例,requestHeWeather6()方法中有详细说明,这个方法是使用Kotlin协程 + Retrofit同步实现并发请求。package com.coolweather.androidimport android.annotation.SuppressLintimport android.graphics.Co...

2019-10-01 19:46:31 2292

转载 使用Retrofit获取原始返回的json数据

之前项目的数据获取都是通过Okhttp来获取的,但是听说retrofit获取数据跟优越,就尝试使用retrofit在同样的数据接口上获取数据,由于是第一次所以走了很多弯路,现在做下记录方便自己或者大家以后直接使用,减少撞墙,节省开发时间。使用Retrofit大概分为以下几个步骤:1、首先的在build.gradle 中添加如下依赖implementation 'com.squareup.re...

2019-09-30 15:41:22 3900

原创 Android Studio 中无法查看SDK源码解决方法

使用Android Studio查看源码时有些类是这样的提示:All packages are not available for download! The following packages are not available: - Package id sources;android-29点击download,报错:all packages are not available for ...

2019-08-03 02:20:48 4809 1

原创 Kotlin — 指定参数默认值生成class无参构造函数

当有框架通过反射的方式把一个类映射成一个对象的时候,需要这个类拥有一个无参构造函数,如果拿不到这个类的无参构造函数会报错,比如阿里的fastjson框架在数据类没有无参构造函数时会报这个错误:JSONException: default constructor not found,在Kotlin中可以把所有的参数设置默认值,当生成字节码文件后会自动添加无参构造函数,如下图,通过反编译后看到已经生成...

2019-08-01 21:41:47 6562 1

原创 Android—HttpsURLConnection示例(Kotlin)

package com.example.networktestimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.util.Logimport kotlinx.android.synthetic.main.activity_main.*import kotlinx.c...

2019-07-30 00:44:45 930

转载 Android8.0通知栏适配 — kotlin

从Android 8.0系统开始,Google引入了通知渠道这个概念。什么是通知渠道呢?顾名思义,就是每条通知都要属于一个对应的渠道。每个App都可以自由地创建当前App拥有哪些通知渠道,但是这些通知渠道的控制权都是掌握在用户手上的。用户可以自由地选择这些通知渠道的重要程度,是否响铃、是否振动、或者是否要关闭这个渠道的通知。拥有了这些控制权之后,用户就再也不用害怕那些垃圾推送消息的打扰了,因为...

2019-07-20 18:26:46 544

原创 Android Studio布局xml文件代码风格设置

比如出现下面这种情况,就是没有设置xml的代码风格,没有固定的代码格式去约束。设置代码风格步骤:Settings—Editor—XML 选择右上角的Android风格,然后Apply即可。然后再进行格式化效果如下图:...

2019-07-20 14:28:34 6251

原创 Kotlin协程 — 子协程中无法进行IO、网络请求等并发

⼦协程 :当⼀个协程被其它协程在 CoroutineScope 中启动的时候,它将通过CoroutineScope.coroutineContext 来承袭上下⽂,并且这个新协程的 Job 将会成为⽗协程作业的⼦作业。当⼀个⽗协程被取消的时候,所有它的⼦协程也会被递归的取消。然⽽,当 GlobalScope 被⽤来启动⼀个协程时(顶层协程),它与作⽤域⽆关且是独⽴被启动的⼦协程 。下面有个例...

2019-07-05 23:22:04 3046

原创 Kotlin协程 — runBlocking的子协程霸占线程问题

fun main() = runBlocking { launch { var nextTime = System.currentTimeMillis() while (true) { val currentTime = System.currentTimeMillis() if (currentTime &g...

2019-07-03 19:41:29 3472

原创 IDEA使用Gradle构建时提示Failed to notify build listener错误的解决办法

今天突然心血来潮想使用一下新版的Gradle版本来构建工程,所以去Gradle官网下载了个最新版的Gradle5.5版本。Gradle安装和配置https://blog.csdn.net/u011510678/article/details/79589944安装好后在IDEA的Gradle设置页面中设置使用本地的Gradle来构建项目(Use local gradle distribution...

2019-07-02 13:01:18 12587

原创 IDEA用Gradle构建项目后没有src目录的解决方法

在IDEA的设置中找到Gradle设置项,勾选自动为空的内容根目录创建目录然后关闭这个设置窗口,回到主界面,在右边的打开Gradle窗口,点击刷新按钮让Gradle重新构建,构建完成后src目录就出来了。...

2019-07-02 12:55:11 2195 2

原创 IDEA用Gradle构建Java或Kotlin项目没有src、gradle解决方法

项目创建好后没有src和gradle目录,下面是解决办法:如果选择了Kotlin DSL 脚本构建后还是没有gradle目录,下面是是解决方法:

2019-06-30 20:15:49 2679

原创 Kotlin自定义区间迭代器及apply方法深入理解

在Kotlin中,for循环中也可以使用in运算符,和做区间检查一样。但是在这种情况下它的含义是不同的:它被用来执行迭代。这意味着一个诸如:for(x in list) {…} 将被转换成list.iterator()的调用,然后就像在java中一样,在t它上面重复调用hasNext 和 next方法,请注意,在kotlin中,这也是一种约定,这意味着iterator方法可以被定义为扩展函数。可...

2019-06-02 00:16:10 885

原创 测试串口和串口线是否正常, 能否正常收发数据 !

以下是以猫猫串口网络调试助手进行测试, 其他串口调试工具类似:第一步:把串口线或者USB转串口线插到计算机上。第二步:打开串口网络调试助手第三步:设置好串口参数后打开串口:第五步: 短接串口线或者USB转串口线9针中的第2和第3针脚(有的插针底座上有编号), 这样做的目的是把调试工具发送过来的数据再反回去, 因为第2针是接收字符, 第3针是传送字符, 短接之后收到数据就立刻把原数据返...

2019-04-28 18:09:43 12665

原创 关机后cpu风扇不停, 无法开机!

目前我已经了解可能造成关机后CPU风扇不停的原因有以下7点, 其中第7项是本人亲身经历过的. 为了避免第7项问题, 在遇到这种情况时直接把所有外接设备全部移除再测试.BIOS设置错误;电源管理设置错误;注册表错误;主机电源问题;主板问题;内存问题;外接设备不兼容.以下是对于这7个问题的解决方法:BIOS设置错误;直接开机按DEL 或 F2进入BIOS设置,进入“Loa...

2019-04-25 23:33:28 5701

转载 Android 8.0变更之后台执行限制(自定义广播接收不到的问题)

本文来源: https://blog.csdn.net/michael_hejing/article/details/83830895背景:目标应用通过命令发送一个广播调用第三方的系统级别应用的功能;原本这个应用targetSdkVersion为24,但是一次更新后将targetSdkVersion改为26也没有什么更新说明通知之类的东西。整了很久都没反应,以为是三方应用出现BUG,后来通过联...

2019-04-22 23:17:09 436

原创 Android开机广播无法接收问题

收不到BOOT_COMPLETED广播可能的原因(1)、BOOT_COMPLETED对应的action和uses-permission没有一起添加(2)、应用安装到了sd卡内,安装在sd卡内的应用是收不到BOOT_COMPLETED广播的,在AndroidManifest文件的manifest节点下设置程序安装到系统内存(android:installLocation=“internalOnl...

2019-04-20 15:30:01 3354

转载 Java Thread.sleep的InterruptedException 线程阻塞 线程中断

1.1.1 Thread.sleep抛异常当某线程A处于Sleep状态时,另一个线程B调用了B.interrupt()方法,打断了A的Sleep过程,则A的Sleep会抛出异常。使用Catch后,线程不会等待Sleep时间,而是会立即执行。下面的例子中,线程1的Sleep会被线程2打断,所以线程1的Sleep会抛异常。public class SleepException { pu...

2019-04-01 19:55:55 5859

原创 CSDN博客代码块语法高亮详细解说

插入代码块快捷键:Ctrl+Shift+k1、java语言 :public class HelloWorld{ public static void main(String[] args) { System.out.println(“HelloWorld!”); }}java代码块高亮图解:↓2、JavaScript :<!DOCTYPE html>&lt...

2019-04-01 16:38:17 420

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除