自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android菜鸟的专栏

我是一个Android菜鸟,好希望有人能写一些菜鸟能轻松看得懂的教程给我学习学习!我渴望学习!

  • 博客(299)
  • 收藏
  • 关注

原创 程序员装机必备软件

这里记录我安装好系统之后必须要安装的一些软件官方地址。JavaSE JDK8:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.htmlAndroid Studio:https://developer.android.google.cn/studioIntelliJ IDEA:https://www.jetbrains.com/idea/Everything:https://www.voidtools.

2021-04-22 11:07:13 814

原创 广州图书馆

写篇博客记录一下广州图书馆吧!今年的某一天第一次去广州图书馆,里面是真的宽广、干净又安静,图书很多,我想要的书几乎都有,可以说,你平时在广州购书中心想要买的书,在图书馆绝大多数都有,所以,为什么要花钱去买呢!而且图书馆里的书很多都是很新的,我以前天真的以为图书馆的书都是很旧的,我错了!广州图书馆里面环境真的很好,坐位超级多的,生怕你没地方做似的,可能是疫情期间,进馆需要预约,所以我看到坐位那么多,还没几个人做,不知道没疫情时没人数限制那时是不是坐位暴满的场面,就恨自己以前为什么不早点去图书馆逛逛,这样就

2021-02-03 15:47:16 840 4

原创 想学习的内容零散笔记

突然间发现,可以学的东西好多,自己好多东西不会,好落后了,Android已经出了好多好用又新的东西自己都没花时间去学,不是学不会,只是没去学。谷歌还是很做实事的,Android更新非常快,包括android系统和相应的api,文档也是越来越丰富(相比早期的简单文档),可以看出谷歌是一家做实事的公司,是一家好公司,做Android,不会错的,关键看自己的学习能力了。在这个互联网时代,手机、电脑很容易分人的心,经常不记得自己要干什么了,所以这里记录一下自己想学的东西,迷茫的时候就来翻翻这个日志,找点喜欢的东

2020-09-10 17:00:12 580

原创 一看就懂的i++和++i详解

我相信很多朋友可能之前已经百度过i++和++i的相关文章了,也做过不少的练习,觉得自己已经深刻掌握了它们之间的原理了,真的是这样的吗?来试试计算一下我下面提供的几道练习,你就会发现你又不会了!

2020-05-09 22:10:35 51420 153

原创 Kotlin中$符号的转义

等,但是在原始字符串中(即三引号括起来的)没有转义字符的说法,所以在原始字符串中没办法表示一个制表符,也没办法表示一个回车换行,但是它支持你直接按回车来输入回车换行,在原始字符串中反斜杠也会当成普通字符处理,所以用来写正则表达式就比较方便,因为正则中用到反斜杠的地方就不需要做转义处理了。符号后面字符串对应的变量,所以编译就会报错。符号没有得到转义,那么它此时就用于字符串插值,但是我们又没有变量。后面的字符符合变量命规则,所以会被识别为变量,所以此时的。如上代码,在编译器中会直接报错,因为。

2024-09-18 16:10:42 148

原创 安装WMware和Ubuntu并使用xShell连接

到目前为止都是一路按回车,在上图中,显示了Ubuntu系统的ip为192.168.124.16,和Windows电脑是同网段的,所以可以在Widnows中ping通这个ip,也可以Ubuntu中ping通Windows电脑的ip。如上图,此时才是真正的开始安装Ubuntu系统,之前的那些都是进行一些配置设置。如上图,这个界面中的任何软件都不需要安装,光标定位到Done按回车。如上图,这一步需要按箭头下把光标定位到 “Done”,然后按回车。如上图,输入许可证密钥,自己网上找,输入后点击“输入”按钮。

2024-08-27 23:09:20 1103

原创 判断是否连接了wifi(坑、坑、坑)

如上方法,当wifi是连接的情况下,它就像是个粘性广播,一调用register函数就会立马收到回调,但是如果wifi是未连接的情况下,调用register函数时不会收到回调,所以这点不是很好,感觉像是Android官方Bug,你推荐我们用这种方式,但是当wifi未连接时,调用register函数确实收不到回调通知。所以,如果要监听wifi连接、断开的事件,可以使用这个注册回调的方式,如果要主动获取,则还是使用前一种方式,或者使用判断是否有ip的方式。是 sim卡的,并不是 wifi的。

2024-07-19 19:06:34 281

原创 Android音频焦点

在某些情况下,多个音频流可以同时播放,但只有一个是用户真正会听的(专注于),而另一个在后台播放。一个例子是,在播放音乐时,会播报行车路线,而音乐的音量会降低(又称为闪避)。函数的作用:当一个应用程序请求音频焦点时,系统会通知其他正在播放音频的应用程序让出音频焦点。根据请求的类型和当前的音频焦点状态,其他应用程序可能会降低音量、暂停播放或完全停止播放音频。注:上面音频焦点API使用的是新出的API,在API 26才出的,也有过时的API可用,但是不推荐。,此时播放器应该暂停,通话结束后,调用。

2024-05-29 17:02:28 570 1

原创 Android11热点启动和关闭

Android官方关于在的类中有一套系统 API 可以控制热点的开和关,代码如下:对于和stopSoftAp这些API都被@SystemApi注解所标注,所以我们无法直接调用,只能通过反射来调用,而且这些API需要一个权限,这个权限需要系统签名的应用才可以使用,权限如下:builder忘记哪个API是30才出的了,所以做了一个版本上的判断,Android R为Android 11版本。对于启动热点,可用中的,或者中,其中,的只负责启动或关闭热点,对于热点名称密码等的一些配置要用的函数。

2024-05-23 09:04:54 1608

原创 Android内存不足的监测

是 Android 中的一个接口,用于接收内存相关的回调。它主要用于检测应用的内存使用情况,并在系统内存不足时释放不必要的资源。实现这个接口可以帮助应用在内存紧张时更好地管理资源。接口,应用可以在不同的内存紧张级别下做出响应,释放不必要的资源,从而改善应用的性能和用户体验。以下是一个 Kotlin 示例代码,展示如何在。

2024-05-14 17:39:32 445

原创 一个长期后台运行的服务

这个权限在Android 9.0的时候才出的,所以,如果目标版本低于9.0版本的话,可以不用声明前台服务权限,而且前台服务在很早的版本就已经有了,但那时不需要权限的。

2024-05-14 17:09:09 275

原创 图像/视频恢复和增强CodeFormer

尝试增强旧照片/修复人工智能艺术。

2024-05-13 08:48:55 319 1

原创 Android App开机启动

【代码】Android App开机启动。

2024-05-11 15:55:57 1074

原创 宽动态设置

一般来说,如果拍摄场景中存在较大的亮度差异,比如同时有强光和阴影部分,那么较高的宽动态范围设置会更合适,因为它可以帮助摄像头在不同亮度条件下保留更多细节。但是,如果拍摄场景中的亮度差异不是很大,也可以选择较低的宽动态范围。摄像头的宽动态范围(Wide Dynamic Range,简称WDR)通常表示它能够同时捕捉到高光和阴影细节的能力。可以进行一些测试,调整不同的宽动态范围设置,并观察拍摄效果,以确定最适合当前场景的设置。公司的一款摄像头的宽动态范围为1-100,设置多少合适?

2024-05-08 09:19:53 300

原创 音频播放&录音&回声消除

如果录到的声音即听不清自己话说也听不清播放的声音,则你再把这个声音做回声消除,肯定也消不好,因为原始音频就已经很差了,回声消除肯定也无法把音频变清晰的!音乐类型的声音大小范围为0 ~ 15,而通话类型为1 ~ 7,所以音乐类型的声音大小在调整时可以比较细腻,过渡比较平滑,比如从小最按到最大需要按15次音量加,而通话类型的话,从最小按到最大只需要按6次,所以它的过渡是没这么平滑的,所以相当的音量值,它们代表的声音大小是不一样的,这也是为什么通话类型的音量大小1比音乐类型大小1的声音要大声的原因。

2024-04-26 16:47:51 1150

原创 Cannot access ‘androidx.activity.FullyDrawnReporterOwner‘

本来原来一直都好好的,不知道哪天起新建的就报错了,经过排查,发现把。

2024-04-15 10:53:06 586

原创 信号值解读

是一种表示功率的单位,用于测量无线传输网络中信号的强度,它表示以毫瓦为基准的功率值的对数比。请注意,这些值是一般性的指导,实际的信号强度受到许多因素的影响,包括但不限于距离基站的远近、障碍物的阻挡、信号干扰等。-60 dBm 表示非常强的信号,-120 dBm 表示非常弱的信号。但是需要注意的是,这些值的具体范围和意义可能会因为不同的通信技术、设备和环境而有所不同,因此在实际应用中,需要根据具体的情况进行解释和判断。-50 dBm 表示非常强的信号,-100 dBm 表示非常弱的信号。的值越大,信号越好。

2024-04-12 16:16:09 1047

原创 手机重启手app没了

是一个在 Android 设备上执行的命令,它用于将文件系统中的缓冲数据写入到磁盘中。在 Android 中,文件系统通常使用缓冲机制来提高性能,但是这也意味着数据不会立即写入到磁盘上,而是在系统认为合适的时候进行写入。发现公司有些Android球机设备,安装了一些app,重启后app没了,还有公司的一些Android手机,原来是没问题的,不知道哪天起,只要重启,新安装的软件就会没了,很神奇。后来发现,在安装app后可以执行。命令可以强制将所有缓冲数据立即写入磁盘,以确保数据的持久性和一致性。

2024-04-12 09:38:14 720

原创 GPS坐标转换为百度地图坐标并显示到百度地图上

坐标转百度地图的坐标,它还有其它的坐标系转换,比如腾讯地图坐标转百度地图坐标,百度地图坐标转腾讯地图坐标等。输入的格式为,先输入经度,然后是英文的逗号,然后是纬度。如上图,有示例请示url,需要注意的是,对于。参数,我们要填2,表示。

2024-04-03 16:11:33 1509

原创 IntelliJ中的非JVM技术

IntelliJ的官方帮助文档上有很多好东西可以去学习。

2024-03-26 16:41:08 267

原创 应用图标不更新

在公司采购的一台手机上发现应用图标修改之后有问题。如上图,除了桌面上的图标,其它地方看到的图标都是显示的第一次安装时的图标,我尝试卸载了重装,问题依旧,重启手机再装,问题依旧,然后我把手机恢复出厂设置再装,问题解决!所以是手机的Bug,坑爹!如上图,这个是桌面图标,已经是更新了的,没问题。

2024-03-20 15:11:15 199

原创 Android弹出通知

来电话时,它默认是使用这个对应的频道来发送通知的,然后判断如果这个频道被用户关闭了的话再用来电通知的那个频道来发消息,而且有提到,如果用户关闭了服务通知频道,然后再打开的话,则这个频道原先是。为不同的使用场景创建不同的频道是个比较好的做法,以方便用户有更细的选择,比如,我觉得电话比较重要,我就可以打开 “Linphone 来电通知” 这个渠道中的悬浮窗权限,其它频道的全都关闭。我发现微信的3个频道中,有两个频道的 “悬浮通知权限” 是开的,有一个是关闭的,这是什么API控制的呢?了,这也是一个细节点。

2024-03-18 18:17:56 1909

原创 Manning技术出版公司

有些国外翻译图书中提供的源码下载连接可能会失效,这时就可以尝试在这个网站中搜索这本书,如果有的话就会提供有源码下载,非常方便。想学某些技术也可以在这里搜索,虽然这些书都是英文的,但是你可以知道有这样一本书。Manning 是一家美国的技术出版公司,专门出版与计算机科学、信息技术和编程相关的图书和教育资料。该公司成立于 1990 年代初期,是技术图书领域的知名品牌之一。Manning 公司的中文翻译名字可以是 “曼宁”。

2024-03-14 09:06:48 486

原创 测试WebView的文件上传

但是这个方式呢,就只能是从文件管理器中选择,不会使用设备实时捕获的,而且多选也是没有的,只有单选。创建的文件选择器效果不是很理想,所以要想实现比较好的文件选择效果的话需要自己去实现了,但是比较麻烦,所以可以使用一些第三方的库,比如。不过公司项目没有要求那么细,我也就懒得去找更好的实现,将就着用吧。这里加了一段js,用于把选择的图片展示出来。标签中的属性来测试Android上的文件选择效果。就表示多选,不需要赋值,不写这个就是单选,而且也是没有多选的,不管你是否设置了。经测试好像也一样,只要写了它,则。

2024-03-11 16:37:23 552

原创 修改Android打包apk的名字和目录

我们公司的apk在上传到公司服务器时,除了上传apk外,还需要填写apk的相关信息,比如包名、版本号这些,同时它也允许通过上传一个配置文件来指定这些信息,像这结信息上每次打包每次要修改也是挺烦人的,都说Gradle可以完成自动化的事情,于是让Gradle帮我生成一个不就行了吗,实现这个很简单,在之前的复制重命令任务中添加生成配置文件的。这样,我就完成了以公司要求的名字去命名apk,同时我使用文件夹名称来保留了apk的版本信息。的脚本语言了,那肯定是要追随官方的脚本啊,于是想把上面的配置翻译成。

2024-03-07 16:24:30 2692 1

原创 JavaBean、POJO、Entity、ValueObject区别

JavaBean、POJO、Entity 和 ValueObject(也称为VO)是软件开发中常用的一些术语,它们在特定上下文中可能有所不同,但通常用于描述数据传输对象或模型的不同概念。

2024-03-06 17:08:51 363

原创 Android开发相关工具有哪些

官方推荐的 Android 开发集成开发环境(IDE),提供了丰富的功能和工具,如代码编辑器、调试器、布局编辑器等。:Facebook 开发的 Android 调试工具,提供了丰富的调试功能和实用的工具,如数据库查看器、网络监控器等。:第三方的 Android 模拟器,提供了更快速和更强大的模拟体验,适用于开发和测试应用程序。:用于网络调试和抓包分析的代理工具,可以捕获和分析 Android 应用程序的网络请求和响应。:Android 调试桥,用于与 Android 设备通信并执行各种调试和测试操作。

2024-03-06 11:22:20 451

原创 操作系统、编程语言、软件、工具出生年份

Unix 是一种多用户、多任务操作系统,最初由肯·汤普森(Ken Thompson)、丹尼斯·里奇(Dennis Ritchie)、道格拉斯·麦克罗伊(Douglas McIlroy)和乔伊·奥莱阿里(Joe Ossanna)等人在贝尔实验室(Bell Labs)开发。Unix 最早于 1969 年开始开发,最初是为了在 DEC PDP-7 上开发软件,后来逐渐发展成为一种通用的操作系统。:Linux 是一种开源的 Unix-like 操作系统内核,由 Linus Torvalds 在 1991 年创建。

2024-03-06 11:20:21 1015

原创 各国语言缩写

ca_ES_EURO 加泰罗尼亚文 (西班牙,Euro)ca_ES_EURO 加泰罗尼亚文 (西班牙,Euro)es_ES_EURO 西班牙文 (西班牙,Euro)it_IT_EURO 意大利文 (意大利,Euro)pt_PT_EURO 葡萄牙文 (葡萄牙,Euro)es_ES_EURO 西班牙文 (西班牙,Euro)it_IT_EURO 意大利文 (意大利,Euro)pt_PT_EURO 葡萄牙文 (葡萄牙,Euro)en_IE_EURO 英文 (爱尔兰,Euro)

2024-03-02 23:24:45 341

原创 Android全屏黑边解决方案

在Android12以上的手机,设置全屏后屏幕底部有黑边或者白边,有的屏幕顶部有黑边。这里把主题应用到了application,则所有的界面都会全屏,也可单独把主题设置到需要全屏的Activity上。

2024-02-28 09:24:17 1348

原创 查看Android中正在运行的程序包名

要想知道正在运行程序是什么,可以先把程序退出,然后在Logcat中过滤消息包含displayed。

2024-02-26 10:58:58 431

原创 使用HiveMQ实现Android MQTT

即有提供MQTT的服务器端,也有提供客户端,而且官方都给他跳转了,那我就用它的库来实现吧!使用了之后才发现,这个库是真的好用啊,封装的非常好,代码写起来特别简洁,响应式编程,支持异步,可以使用Java自带的,也可以使用RxJava或Reactor,HiveMQ的断线自动重连做的也比较好。,这是Eclipse的一个Android MQTT客户端实现库,但是我发现这个库在运行到高版本的手机上时报错了,这个库也是N年没有更新的了,所以找了新的库。官网的时候,发现关于MQTT的很多介绍是链接到了。

2024-02-23 17:46:39 1557 1

原创 IntelliJ中读取resources目录中的文件

【代码】IntelliJ中读取resources目录中的文件

2024-02-20 23:51:41 478

原创 一个单词前面加上bi是什么意思

在英语中,将一个单词前面加上 “bi-” 前缀通常表示 “two”、“twice” 或 “double” 的意思。这个前缀来自于拉丁语的 “bi-”,意味着 “两个” 或 “两次”。双重或两倍:例如,“bilingual” 表示 “双语的”,“bifocal” 表示 “双焦点的”。二分或两个:例如,“bilateral” 表示 “两边的”,“binary” 表示 “二进制的”。二次的或重复的:例如,“bisect” 表示 “二等分”,“bisexual” 表示 “双性的”。则表示该接口的函数有两个参数。

2024-02-20 15:46:54 1375

原创 在Java泛型中的常用字母

【代码】在Java泛型中的常用字母。

2024-02-20 08:49:09 471

原创 为什么InputStream的read()返回-1可以表示结束

4个字节中的前面3个字节全变成0,只保留最后一个字节的值。所以如果从输入流中读取一个字节,如果这个字节的值刚好是。基础时应该都有学到,两个类型不同的数值进行计算时,低类型会转为高类型再进行计算的,所以。之后都会是一个正整数,不可能是负数,它的范围是0 ~ 255,这正好是无符号。它相当于把一个可正可负的byte值变成了一个绝对是正数的int值,所以。如上代码,把输入流中读取到的数据写到输出流中,在。,也就是输入流读取的结果,但是它在返回之前有一个。完成的,所以我们看不到实现,今天我看了。

2024-02-06 11:17:12 752 3

原创 java api文档中的since是什么意思

标签通常出现在类、方法、字段等的注释中,以提供相关元素的版本信息。这有助于开发者了解在不同的 Java 版本中引入了哪些新功能,或者哪些功能被废弃。在使用 API 时,了解版本信息可以帮助开发者确保代码的兼容性,并选择合适的 API 版本。这个标签提供了对 API 的版本控制信息,帮助开发者了解某个特定的类、方法或字段是在哪个 Java 版本中首次引入的。在官方的 Java API 文档中,你可以通过查看类、方法、字段等的详细说明来找到。在 Java API 文档中,在 Java API 文档中,

2024-02-06 09:04:51 885

原创 OutputSteam.nullOutputStream()和InputStream.nullInputStream()有什么用

答案来自ChatGPT。是 Java 中的一个特殊输出流对象,它被设计用于将所有写入操作都静默地丢弃,即不进行任何实际输出,也不引发异常。这个输出流通常用于一些情况下,你希望消耗输出,但实际上不需要对输出做任何处理。以下是一些使用的场景:无关紧要的输出: 当你调用某个方法或库,该方法或库生成输出,但你对这个输出不感兴趣时,你可以将输出流设置为,以忽略这些输出。测试和调试: 在某些测试场景中,你可能希望屏蔽掉不必要的输出,以保持测试结果的简洁性。将输出流设置为可以使得输出被静默地丢弃。

2024-02-06 09:02:24 593

原创 IntelliJ导出jar包

这样我们就拥有了一个可以直接运行的jar包了,在cmd中直接进入到该jar包目录下运行该jar包(如上图,这样就设置好一个 ‘工件’ 了,可以看到jar包名称和输出目录,这些可以根据需要去修改。现在,在项目根目录中可以看到多了一个。通过构建菜单来构建出jar包。的目录时,它自动是选择到。如上图,它会自动搜索出。创建一个Java项目。

2024-01-31 10:22:02 520

原创 java常量和kotlin常量

从这里也可以看出,为什么常量在编译为class字节码之后,调用它的地方已经被常量值所替换,为什么常量的声明语句还保留了,因为还是有可能会被用到的,比如我们通过反射读取该常量的值,这是需要在运行时才能完成的,无法在编译阶段就直接使用常量值替代的。常量在编译为字节码时无法使用常量值代替,因为它是一个对象,而对象的内存地址得在运行时才能确定,所以这种不应该叫常量的,所以,kotlin在这方面就做的比较好,表示一个变量不可改变用。,它不是在声明时直接赋值的,而是经过一个。中的判断得出值不是1就是2,用。

2024-01-30 17:42:46 651 1

sokit-1.3-win32-chs(中文版)

sokit是一个开源项目,是一个TCP / UDP 测试工具,用来接收,发送,转发TCP或UDP数据包。 项目地址: http://code.google.com/p/sokit/、https://github.com/sinpolib/sokit。

2023-02-21

空空如也

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

TA关注的人

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