- 博客(193)
- 资源 (21)
- 收藏
- 关注
原创 史上最简单的Excel导入通讯录方法
这里写自定义目录标题第一天第二天第三天第一天说来话长,这是一个悲伤的故事。事情的起因,是因为魔都我被封在家里,寂寞难耐的心始终不知道该干点啥,然后就撩起了当设计师的妹子,正巧那天晚上妹子也在电脑旁,和我有一句每一句的在聊天。聊了大概差不多半小时吧,她突然来了句,你不是程序员吗?我说是呀,怎么了,是不是很崇拜程序员啊?她说是呀,那你能不能帮我做个事情啊?我老脸一红,来了句,说吧,啥事都小菜一碟。我当时觉得多年的摸鱼工作,只要这一秒我是无比勤奋的,因为我在主动揽需求,这对一个很懒的程序员来说,是不可理喻的
2022-05-01 18:52:26 4255
原创 IOS如何通过友盟上报的错误,使用dSYM查看报错的代码
atos是一个命令行工具,用于将奔溃日志中的地址(通常是十六进制的内存地址)转换成文件名、函数名和源代码行号,这样更有助于开发者理解奔溃时发生的上下文。之后,将会在后台查看我们App的奔溃异常日志了,一般对于奔溃的记录,都是记录的内存地址,那么我们应该如何将内存地址映射到咋们App对应的代码中呢,这篇文章我们从头到尾简单梳理一下。首先,对于集成APM插件,我们就不讲了,直接可以通过官方文档,过程应该不会太过于复杂了。就是我们的解析地址。因为我们可以看到有前面的四个地址都是不同的,唯一相同的地址是后面的。
2024-03-25 16:17:39 887
原创 python中如何解析Html
在最近需要的需求中,需要 python 获取网页内容,并从html中获取到想要的内容。这里记录一下两个比较常用的python库对html的解析。
2024-03-18 15:46:55 1126
原创 MySQL exception IntegrityError: (1062 Duplicate entry for ‘x-y‘ key)
对应的字段或者字段组合被定义为具有唯一性约束,即该字段或者该字段不允许存在重复的值。当我们尝试插入或者更新的数据包含了一个已经存在的键值对时,就会触发这个完整性错误。具体来说,这是违反了唯一性约束(unique constraint)导致的重复键错误,即。表示在插入或者更新时,视图插入一个已经存在的键值对。因此开篇记录一下出现的时机和解释。因此我们可以分析,异常信息。数据库中的一个异常,称为。那么我们有什么解决方案么?
2024-03-06 13:56:52 416
原创 iOS 中的 UITextField 如何设置才能只输入数字和小数点?
刚接触 iOS不久,接到一个iOS项目,其中有一个需求就是在一个 UITextField中只能输入数字和小数点,这个需求在Android中非常容易,只需要设置。中比较坑爹的是,如果用户使用外接键盘或者复制粘贴,仍然可以输入非数字字符。其实解决方案也比较多,这里我给出一种比较常见的解决方案,就是直接集成自。仍然可以输入,且显示为”23.34元“,最后我们提交数据时,就会产生问题。事件进行监听,对输入的字符串进行校验, 非数字和小数点字符直接去掉。如果允许小数点,那么就可以使用。当然,这是最基本的,但是。
2024-03-05 17:30:52 389
原创 彻底解决 MAC Android Studio gradle async 时出现 “connect timed out“ 问题
最近在编译一个比较老的项目,git clone 之后使用 async 之后出现一下现象:首先确定是我网络本身是没有问题的,尝试几次重新 async 之后还是出现问题,网上找了一些方法解决了本问题,以此来记录一下问题是如何解决的。
2024-01-30 18:28:34 909
原创 Android IdleHandler 接口详解
一个常见的 IdleHandler 的应用场景: 我们在应用初始化时可以做一些预加载和预处理的操作,以充分利用系统空闲时间,提高应用的性能。返回值为 true 时,表示IdleHandler想继续监听系统空闲时间,并可以继续执行。的任务,这样操作才不会导致系统卡顿,比如启动后台任务、资源加载、清理缓存时用到。它的作用是在 监听主线程空状态,也就是主线程没有其他任务在执行时,可以通过。返回值为 false 时,表示 IdleHandler 将。监听系统空闲时间,系统将停止调用。当然,我们可以看到,在。
2024-01-25 21:01:27 575
原创 linux 定时任务 crontab 使用笔记
最近在服务器上跑撸茅台的脚本,需要使用定时任务每天早上9点准时预约一次抢茅台的脚本,因此需要用到crontab命令。crontab主要是用于设置周期性执行命令,比如每分钟、每小时或者每周执行一个固定的命令,该命令从标准输入设备读取命令,并将其存放在crontab文件中,以供后期的读取和执行。
2024-01-20 10:40:37 431
原创 解决百度地图在模拟器上运行报 java.lang.IllegalArgumentException: No config chosen问题
可能baidu地图的源码是混淆的,所以啃起来不是特别的顺利,还是耐着性子看完了,问题其实并不复杂,弄清楚逻辑就比较简单了,可能就是java的反射需要点功底,其它的都好说。如果有任何问题,可以add v:javainstalling,备注:baidu.
2024-01-18 22:27:00 1012
原创 Android 中如何使用 App Links
什么是 App Links呢?App Links 是 Android 6.0 (API 级别23) 引入的新功能,它是基于 DeepLinking,允许应用自动处理网站的 URL,而无需提示用户启动相应的应用。例如:如果你在手机浏览器中输入了某个网站,而你的应用已经支持了那个网站,那么操作系统会直接打开你的手机应用,而并不是浏览器打开网站的网页。
2023-10-25 20:53:40 1013
原创 Kotlin Coroutines包下的select函数简介
想象一下这个场景,在程序应用中,为了实现一个业务逻辑,你可能有好几种方式来实现,但是我只需要最快实现结果的一种方式,这时候我们就可以使用select函数了。如果还不是很清楚啥意思,我们可以看下图:最近黄金比较贵,我们的客户端需要实时查询黄金的价格,现在网易服务器和头条服务器都同时提供查询的接口,在同一时间节点上理论上网易服务器和头条服务器返回的数据应该是一样的,我此时同时向网易和头条服务器发送请求数据,那么我此时查询只需要最快返回结果即可。形象一点,我们可以理解为数据的军备竞赛。
2023-09-18 10:52:41 618
原创 Android 命令行如何运行 JAR 文件
最近有位老哥问了一个问题,说如果将java的jar文件在Android中执行?这个其实很简单的一个问题,直接写个App放里面不就可以了么?但是人家说没有App,直接使用命令行去运行。说明这个需求的时候,把我给整懵了,没有很好的思路去想这个问题,所幸查了查资料,发现其实可以在Android中使用命令行来执行jar包命令的。
2023-08-17 19:26:26 1549 1
原创 解决 Mac 上使用 Electron Updater 更新 App 不成功的问题!!!
在Mac电脑上,使用Electron Updater对程序进行更新,但是一直不成功,也不报错。具体表现是这样的:当前我的程序版本是3.11版本,点击更新之后,也下载了,但是更新之后还是3.11,也就是意味着更新不成功。在查阅了相关的资料就会发现,使用 electron 所打包的app,其实会存在各种日志,我们只需要查看日志,并按照日志,哪里出错就修改哪里即可。如果你存在什么问题的话,可以加我v javainstalling,我们一起解决。主要是存在一个文件,它只是可读的权限,没有可写和可操作的权限。
2023-08-14 11:22:19 1291
原创 Android 新版 Logcat 操作小技巧
应用程序启动、停止或崩溃时的附加日志多个 logcat 选项卡和窗口允许用户同时分析来自不同设备的数据可以调整日志条目的格式选项,我们能看到筛选的信息搜索和过滤器合并到始终可见的查询输入字段中,还包括额外的过滤器运算符基本上就这样了,如果大家在学习和使用过程中有什么问题,可以联系我wx:javainstalling, 备注:Logcat即可。
2023-04-11 16:48:26 5493 2
原创 Android如何做出带有复杂水印的图片
最近项目中存在图片加水印效果的需求,具体效果如下:那么针对这种比较复杂的水印图片,应该如何去做呢?下面我分享一下自己的思路。
2023-04-06 16:53:38 1570 1
原创 记一次七牛云存储文件MOV转MP4
就是我上传了一个视频,首先我检测一下这个视频是否是MOV格式的,如果是,那么我就进行MP4的转码,如果是其它文件就不进行任务操作。这里可以看到,我们的MOV文件被转码成了mp4文件,因此整个逻辑是正常的,现在小伙伴们可以像以前一样正常的上传文件了。这里是进行了任务的自定义,以图示的方式展现了代码的原理,首先我们拿到任务之后开始锐智转码,然后进行输出即可。上传完成之后,我们可以去转码队列中查看一下任务,这里有一个待转码的任务,说明我们的触发器任务创建成功了。上图可以看到,我创建了两条任务,一条是针对。
2023-03-18 12:12:02 1162
原创 HTML img和video object-fit 属性
Css中object-fit主要是应用到img标签和Video标签的,来控制显示缩放效果的。首先我们存在一张图片,原始图片的尺寸是 1080px x 600px, 展示效果如下:如果我们的css样式中的img大小设定并不能满足图片的原始大小,比如我们的img样式如下:imgwidth;height;
2023-02-12 12:19:31 3260
原创 解决Android Studio com.google.common.collect.ImmutableMap.hashCode 造成的StackOverflowError异常
解决Android Studio 编译出现StackOverFlow异常。
2022-05-28 11:54:29 1287
原创 Retrofit+OkHttp 参数使用AES加密Demo
最近在做App代码安全方面的优化,特此记录一下。我们现在App大多数都是基于Retrofit+OkHttp的网络请求框架,现在的需求是需要将请求的参数进行加密传输,下面图片中我们进行一个对比,一个是明文传输,一个是密文传输:明文传输密文传输由于考虑到加密和解密的效率,我们现在选用的是AES对称加密。至于对称和非对称加密,可以参考以往的[文章]。(https://blog.csdn.net/u013762572/article/details/88733982)1. 客户端修
2022-05-22 12:47:03 1953 2
原创 Hilt加强篇:理解Component和Scoped
1. 历史上次写过一遍关于Hilt的使用偏,里面详细介绍了Hilt历史和应用,链接对应如下:Android Hilt 使用如果没有对Hilt的使用有些了解,那就先入门看看,谢谢。2. ComponentComponent和Scope的英文名分别是组件和范围的意思,第一次见到这个两个注解的时候,还是有些不清楚的。下面慢慢说,Hilt-Android中存在8个Component和对应的8个Scope,先来聊一聊这个8个Component,分别为:序列名称创建时间销毁时间1S
2022-05-15 16:41:26 952
原创 升级新版本Android Studio之后找不到了插件classpath的位置
最近手残升级了Android Studio到新版Android Studio Chipmunk,发现gradle版本升级到了7.4.2, gradle 插件版本升级到了7.2.0-alpha05. 本来没什么问题,但是今天要加入Hilt这个第三方库,问题来了。大家知道Hilt这种巨牛叉的第三方库一般都是ASM + APT + 注解 + 反射 + 动态代理 这些底层的基础知识构建的。因此在使用到APT时,就需要使用到相关的gradle插件了。平时我们使用Hilt也就两步:加入hilt-android-
2022-05-14 22:33:01 8997 6
原创 Kotlin + Dagger2 出现 Dagger does not support injection into private fields 解决方案
Dagger2在Kotlin环境下出现Dagger does not support injection into private fields.
2022-05-08 22:42:52 1609
原创 Activity#onActivityResult被弃用了,该怎么办?
1. onActivityResult弃用现象和解决方法前几天更新了AndroidX之后,项目中的onActivityResult就被声明为@Deprecated,大概如下图:由于本人呢,是一个代码洁癖者,看着这个肯定不会很舒服,苦于没有时间,就没有仔细去好好分析,就放在一边呢。今天有点时间,我们就来扒一扒,看看onActivityResult是如何被弃用了,现在又该如何解决呢?其实,我们点击Activity#onActivityResult的源码的时候,就可以看到它自己说明的解决方案:在An
2022-05-07 17:34:49 3909
原创 彻底解决Android Studio Minimum supported Gradle version is X.Y.Z. Current version is x.y.z.问题
由于Android Studio 是基于Gradle 编译的,面对众多的Gradle版本,类似于Android碎片化的概念,在编译项目上或多或少会存在兼容性问题。如题,Minimum supported Gradle version is 6.1.1. Current version is 5.6.4...,Minimum supported Gradle version is 6.7.1. Current version is 5.6. If using the gradle
2022-05-02 16:58:22 14653 3
原创 解决新版Android Studio新签名出现Key was created with errors快速解决方案
解决Android Studio 新签名出现的 Key was created with errors文件
2022-04-22 08:47:26 2262
翻译 Glide VS Coil
原文地址:https://medium.com/healthify-tech/coil-vs-glide-3f488f4de72a在这篇文章中,我们将会对Glide 和Coil做一个对比,来理解一下到目前为止,哪一个图片加载框架是更好的。Glide是一个Android平台的快速高效开源的图片加载框架,现在有很多人在使用它。然而Coil作为一个新的图片加载库在近些日子也越来越受欢迎。两个库的基本功能是相同的;它们都是使用BitmapFactory来解析数据,然后使用相同的Android SDK来从文件中
2022-01-26 18:05:05 903
原创 DataStore的基础用法
0. 简介Google在推出JetPack组件以来,一直推荐我们使用DataStore组件替代到我们第一天学android就知道的SharedPreferences组件,原因很简单,因为当年的SharedPreferences存在居多的问题,DataStore就是为了解决这些问题而来的。1. SP的缺点至于 SP到底存在哪些问题,我们可以直接查看 DataStore源码上的注释:Synchronous API encourages StrictMode violationsapply() an
2021-12-18 12:33:55 6888 2
原创 Android 10以上,保存视频通知到相册
代码如下:public static void videoSaveToNotifyGalleryToRefreshWhenVersionGreaterQ(Context context, File destFile) { ContentValues values = new ContentValues(); Uri uriSavedVideo; if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
2021-11-27 22:01:56 3570 5
翻译 Android MVI 架构简介
翻译来自 Medium :https://medium.com/@soundhar.p03/android-mvi-architecture-230cd30e40b4大家有时间和精力可以阅读原文,翻译可能不怎么到位,到时候网批评指正。大家好,在本篇博客中,我们就会讨论有关Andorid的MVI设计模式。近些日子有关Andorid架构模式都在逐步进化中。对于我们开发的App中,我们开始面临新的挑战和困难。新的设计模式将会被发现来解决类似的问题。作为Andorid开发人员,我们已经拥有了MVC、MVP
2021-11-27 20:45:35 1729
原创 不看lifecycle源码,认真聊聊它的实现原理
目录1. lifecycle 简介2. lifecycle 用法3. lifecycle 原理1. lifecycle 简介 在我们的日常开发中,使用Activity和Fragment 产生的内存泄漏问题比比皆是,主要是原因就是这二者存在生命周期,在走完这一辈子的过程中,有些引用一直抓着着Activity和Fragment不放,等到它们Destroy的时候,依旧引用着它们的尸体,导致不能被回收,因为尸体将一直存在于内存中,导致可用内存减少,然后内存泄漏就开始了。当然了,扯远了,Go
2021-11-16 20:48:41 667
原创 Gson源码解析
文章目录基础了解几个重要的概念1. 属性赋值/序列化2. Java类型适配器3. JsonReader源码分析1. Gson初始化2. 源码分析3. 整体回顾ObjectToJson后记基础了解最近在解决一个Json解析时,把Gson原理过了一遍。Gson是Google开发的Json解析库,当然这种轮子市面上比较多,也不一一列举了。今天主要来聊聊Gson源码,是如何解析一个Json对象,然后按照葫芦画瓢,将一个Java对象如何序列化成 Json对象。几个重要的概念在分析Gson源码之前,首先需要在脑
2021-08-27 17:29:41 693
原创 Android Hilt 使用
文章目录a. 关于 Hiltb. 添加依赖项c. Hilt 应用1. HiltAndroidApp 注解2. 注入Android类3. 如果注入接口4. 如果注入的对象不能new5. @ApplicationContext 和 @ActivityContext6. Android类生成组件i. 全局单例模式ii. Activity内多Fragment共用组件d. 资料a. 关于 Hilt首先 Hilt 是 Android 的依赖注入库。什么是依赖注入?简单点理解就是Java中我们使用对象时,需要去 ne
2021-08-14 20:59:03 2895
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人