- 博客(80)
- 资源 (4)
- 问答 (2)
- 收藏
- 关注
原创 Dart中List API用法大全
在 Dart 编程中,List 是一种非常常用的数据结构,它允许我们存储和操作有序的对象集合。List 提供了丰富的 API 来满足各种数据操作需求。本文将详细介绍 Dart 中 List 的各种用法和技巧,帮助你在编写 Dart 程序时更加高效。
2024-11-11 00:14:11
1075
原创 如何借助AI 来提高开发效率
随着人工智能(AI)技术的快速发展,特别是大规模语言模型(如 GPT 系列)的崛起,软件开发领域正在经历一场革命。AI 大模型不仅在代码生成方面展现出强大的能力,还在测试、维护和创新等多个环节中发挥着重要作用。因此作为开发的我们也要跟上时代的步伐,借助AI工具来提高我们的开发效率,虽然最开始很难接受,很难想象AI可以替代我们这个码农,但是放下观念真实的接触下来,借助AI工具真的可以做到提升开发效率,提高自己的代码质量,自己使用AI已经有一段时间了,下面自己以为例分享下,自己是如何借助AI来高效的开发的。
2024-11-09 22:23:19
1127
原创 最全面的Flutter(dart)中future使用教程和异步原理
接触过flutter的开发同学都知道,flutter是一个单线程模型的跨端UI框架,可以说是非常强大,主流的客户端、桌面、前端应用都可以通过flutter来实现,但是既然是写UI就有一个绕不开的话题,数据获取和UI渲染是如何处理的呢?像安卓和iOS都有自己的线程机制:子线程获取数据,main线程用于UI刷新,那Flutter 这个单线程是如何做到的呢?关于Flutter的UI刷新这里先不谈,先看看flutter中的异步操作是如何处理。
2024-11-09 16:06:22
933
原创 关于Flutter空安全升级方案整理
Flutter 从 2.0 版本开始支持空安全(Null Safety)。升级到空安全后,由于语法的变动,基本上整个工程,代码都爆红,这对项目来说简直是灾难性的打击,不升级的话只是缓兵之计,因为随着时间的推移,flutter将不再维护非空安全的版本,同时一些三方库也将无法使用,因此空安全升级变成了一个不得不做的事情,项目越复杂需要的时间也就越持久,考虑到对项目的稳定性,和开发周期。选择一个合适自己项目的迁移方案非常重要。下面自己会讲下自己对空安全迁移的理解和实施方案,目前成功迁移几个项目,还是比较有经验的。
2024-11-08 17:13:37
1653
原创 Android 实现一个系统级的悬浮秒表
由于项目需要将手机录屏和时间日志对应起来,一般的手机录屏只能看到分钟,但是APP的日志输出通常都是秒级别的,于是决定自己手撸一个悬浮秒表(有拖拽效果)。效果如下。
2024-11-08 09:53:25
658
原创 Flutter 中的那些设计模式的写法(持续更新)
我们都知道设计模式是相同的,同一种设计模式的理念不会因为语言不同而会有所改变,但是由于语法的差异,设计模式的写法也有所差异,本文会介绍一些flutter中常用设计模式的写法以及使用场景。创建型模式单例模式 (Singleton)工厂方法模式 (Factory Method)抽象工厂模式 (Abstract Factory)建造者模式 (Builder)原型模式 (Prototype)结构型模式适配器模式 (Adapter)桥接模式 (Bridge)
2024-11-07 16:18:01
1497
原创 最全的Flutter中pubspec.yaml及其yaml 语法的使用说明
我们知道在Flutter项目中,依赖版本管理是通过pubspec.yaml的形式,因此了解yaml的一些简单语法和如何配置使用pubspec.yaml 也是相当的重要,下文会对yaml的使用进行简单介绍YAML(YAML Ain’t Markup Language)是一种易于阅读的、用于表示结构化数据的序列化格式。因为其语法简洁且可读性强,常用于配置文件和数据交换应用程序中。我们的flutter便是其使用的场景之一相比较其他方式的配置文件的特点如下。
2024-11-07 00:12:18
1549
原创 Flutter UT太多导致跑覆盖率报错
在Flutter项目中,跑单元测试或者单元测试覆盖率时,多多少少会遇到一些稀奇古怪的问题,比如单个能跑过,一起就跑不过,单元测试能跑过但是单元测试的覆盖率无法跑过,测试卡住等问题,以下分享下自己写单元测试的一些经验。
2024-11-06 15:41:47
652
原创 Flutter我来啦
结缘Flutter都知道Flutter是Google推出的,做为一名安卓开发者也不列外,从Java到Kotlin、从MVC到MVP再到MVVM,以及让人头疼的RX系列、还有kotlin协程,自己虽不是样样都用的娴熟,但是都了解一点,以至于去处面试的时候不至于被问到都不知道是啥,但是Flutter就不一样了,这个从来没出现在自己的简历上,自己也自学过一段时间,但是从来都get不到 Flutter的点,APP体验差,Dart语法还好,和Kotlin有几分相似,但是写法对于初接触者应该算是一言难尽:万物皆控件,
2021-02-17 15:14:11
245
原创 常用的一些小排序算法之冒泡排序,直接选择排序,反转排序
前言常常会被问一些排序算法,可能对于客户端开发来说,直接用到的地方不多,即便是用到了也可以直接调用sort()方法,如下://通过数组帮助类Arrays来实现 System.out.print("排序后数字:"); //创建乱序数组 int[] array ={1,3,9,4,3,6,7,5}; //调用系统自带排序 Arrays.sort(array); System.out.print("排序后数字:");
2021-01-14 13:37:49
266
原创 Kotlin空安全原理
前沿可能又要闲置一段时间了,闲置的原因长的不知道从何说起,收拾收拾心情,整理下博客,不卑不亢,静下心来,梳理下知识点,写写博客记录下,就当是给自己放假啦,浮躁的人得静下心来,能力不够学习来凑!kotlin空安全被面试官问到kotlin空安全的原理,瞬间触碰到盲区了,自己用过kotlin也知道kotlin空安全的用法以及优点,就是没有想过它的原理是什么,然后卒。回去特意查了下,kotlin对空字符串以及null的判断要比Java友好的多,相比较Java的TextUtils.isEmpty()方法,我们
2021-01-12 17:01:48
1784
7
原创 2020年终总结
不平凡的一年2020年过去了,第二个鼠年,记得08年是大地震 ,然后今年又是疫情好像过的两个鼠年都不平安,对我而言也是作死的一年,本该求稳的一年结果自己年底把工作给丢了,该死的任性,该死的面子!以后做事还是要三思。迟来的总结工作已经三年多了!真的是快,做了三年多安卓开发,有啥收获?工作换了、上进心没了、总之还是一团糟!看了看之前的规划,好像也没有特别突出的,都是那种适合而止。技术成熟了点,心思稳重了点,可是工作还是很不顺心。可能和性格也有关系,总之要改变的还是很多。三年对于互联网从业者来说是个很关键
2021-01-03 23:18:27
263
原创 Android集成支付宝支付(Kotlin)
前言之前从头到尾独立开发一个小项目,于是尝试用Kotlin来完成,基本写完就爱上了kotlin了。可以说相比较Java是相当的舒服,项目中涉及到支付,于是自己负责支付宝支付的整个流程包括申请账号,材料准备等,下面记录下整个流程账号申请账号一般都是公司提供的,登陆后需要签约支付,蚂蚁金服官网里面会有APP支付客户端Dome具体使用场景如下支付场景一般我们都是APP内部支付,客服端 集成流程如下:添加依赖我这里是以jar形式导入进来的可以去官网下载的在build.gradle中申明一下
2020-10-29 14:55:09
1495
原创 Kotlin实现的手机正则以及身份证正则判断
项目中常用的一些正则判断如手机号、身份证判段手机号正则/** * 手机号码正则判断 */ fun isPhoneNum(phone: String): Boolean { val compile = Pattern.compile("^(13|14|15|16|17|18|19)\\d{9}$") val matcher = compile.matcher(phone) return matcher.matches()
2020-10-19 11:38:21
2243
1
原创 Kotlin bitmap 转byte
前言在做分享的时候需要将bitmap转成byte数组输出,如下:object BitmapUtils { private val TAG = "BitmapUtils" fun bmpToByteArray(bmp: Bitmap, needRecycle: Boolean): ByteArray { val output = ByteArrayOutputStream() bmp.compress(Bitmap.CompressFormat.PNG,
2020-10-19 11:28:20
1181
原创 Android 快速点击多次响应点击事件处理
分享一个按钮快速点击多次响应点击时间的工具类如下:public class OnClickUtil { /** * 最小允许间隔,低于则无法生效 */ private static final long INTERVAL = 500; /** * 上次点击时间点 */ private static long lastTime; /** * 是否点击过快 * * @return *
2020-10-19 11:22:47
1027
原创 Android中多行文本末尾添加图片排版问题的解决方法
前言项目中处理交易号的时候末尾有复制按钮,交易号末尾可以点击图片复制,当时立马就想到了textview图文混排、包括通过TextView.setHtml 来实现都发现一个问题就是:他自己会未占满就换行了。类似这种0xadd65c570fc6381b85479df607e1afad2f3c90dfjsad3464382首先drawableRight这种肯不行的应为是多行,而使用ImageSpan会出现未占满就自己换行了。解决方式其实主要问题是:换行之后还是会留一段空白,并没有占满,发现是因为当
2020-10-19 11:11:01
943
原创 小记
最近在看朱自清的散文集,蛮有感触的同样是轻描淡写的文字,可读起来就是感觉慢舒服的,淡淡的优雅,大概像午饭后散步莫名的惬意,而自己大抵是没有这个功底的,又习惯没事随便写写,就当吐槽娱乐消遣吧。自己不是一个感性的人,不会...
2020-09-16 19:46:30
130
原创 Android点击通知页面不刷新intent无法传值问题
由于项目是单Activity多fragment实现的,做极光推送处理的时候要求点击通知栏,跳转到消息那个fragment,我们知道在推送里面通过重写BroadcastReceiver通过bundle拿到值设置跳转的,很遗憾,那个Activity一直是在前台的,并且启动模式是:singleTask结果即便我的intent是:intent.setFlags(Intent.FLAG_ACTIVITY...
2020-04-03 16:03:53
609
原创 Android关于极光推送屏蔽掉默认推送,自己写本地推送处理
前沿集成极光推送大概有七八回了吧,本以为轻车熟路的,结果你永远干不过PM的脑洞。我们项目是要做国际化的,也就是多语言适配,但是测试推送的时候发现一个问题就是如果你转账的手机是什么语言,那你收款手机收到推送的语言就是什么,产品不干了说:收到推送应该和当前APP内部语言保持一致。可是后台发的推送就这个语言呀,结果开始互相甩锅了。。。。。解决方案本地负责的态度决定自己本地做处理吧,自己的思路是首...
2020-04-01 10:34:54
1480
原创 Android 实现在文字末尾添加图片
前言遇到一个这个需求就是在文字的末尾添加图片,其实本来也挺常规的,通常可以这样去实现复文本的方式String html = testUrl + " <img src='%1$s'>"; html = String.format(html, R.drawable.white_copy); pay_address.setText(Html.fromHt...
2020-03-19 17:34:40
4322
1
原创 2019年终总结
前言时间真的过的好快,记忆中依稀记得自己写18年年终总结的样子,转眼一年过去了,是啊19年的最后一个月,可以自己还是什么都没做成,年底了,一堆烦心事,现在的这份工作也不知道还能做多久,本以为自己找的是一个靠谱的工作,可是现实好残酷,公司内斗自己成了牺牲品,领导否认自己的工作成果!不知道自己还能坚持多久,大概这一年是颠覆自己认知的一年吧!能力、学历、机遇好像都在左右一个人的命运,身边的朋友不乏靠着...
2019-12-12 21:41:17
209
原创 Android 设置属性动画AnimatorSet设置pause无效问题
前言项目中做广告页动画,要求页面不可见(onpause、onstop)暂停动画执行,于是:/***初始化动画、以及相关动画执行*/AnimatorSet set = new AnimatorSet(); set.playTogether(animator, animator1);// 同时执行 set.setDuration(mLoadin...
2019-11-26 10:09:58
2203
原创 android倾斜角标实现
前言最近产品有一个需求是:要在一个距形卡片上做一个倾斜的Tag,类似:(PS:不要注意那两毛三分的穷鬼),刚开始想着用UI切图就可以了嘛,but是不可以的,在不同手机上分辨率是不同的,直接用图片适配肯定会有问题,所以打算自定义。实现思路额画图太丑了,这里解释一下:这里以左上角为例,我们可以把手机屏幕看成是一个直角坐标轴,我们要画一个斜角标示,只需要在我们的距形框内画一个正方形通过正方形的对...
2019-10-16 11:05:27
2011
1
原创 由Android禁止viewpager滑动,想到的安卓事件分发机制
前言产品有个需求是两个tab页面可以左右切换,当时立马想到我用viewPager+fragment,但是我们知道viewPager默认是可以左右滑动的,而我的需求是只可点击不可滑动,于是我就翻了一下viewpager的API发现并没有可以设置是否可以滑动的相关方法。于是我就想是否可以通过事件的分发机制去拦截它左右滑动的touch。果不其然!public class myViewpager ex...
2019-10-08 16:48:05
311
原创 Android混淆文件配置
前言正常一个APP都会开启混淆,但是有时后接手的项目并没有开启混淆,然后自己修改的时候就很蛋疼,因为开启混淆便会报错,如果有一些没有用过的第三方库更要自己去处理,这里就记录一下安卓常见的混淆文件和常规用法。混淆好处以及哪些是不能混淆的面试常问混淆好处,我们张口就来:打包时会去掉无用资源有效减少APK体积(尤其对一些开发不规范导致很多无效代码和资源文件)其实这也可以变向的解决64k问题增...
2019-09-26 20:56:50
3053
2
原创 Android AES加密密文一直变
前言做AES加密的时候本来想着直接把后台给的AES代码copy过来发现有个很奇葩的问题:我直接写main方法运行解密是OK的然后app运行却不可以每次秘文都是改变的。各种百度也不行好像是jvm什么的不兼容安卓这边,于是后台大佬做了下兼容发给我了。亲测可用。import javax.crypto.Cipher;import javax.crypto.spec.IvParameterSpec;...
2019-06-12 10:52:12
895
原创 Kotlin中的一些判空操作、空安全
前言很久没有更新博客了,其实并不是因为太忙,也不是遇到的问题不多,是迷茫了,不知道怎么去写,总感觉自己一定会去好好的写文章(哈哈幻想中),但是从来没有动过笔,因为写不好,能力不够。但是还是要去动笔呀!最近在项目中使用kotlin了之前也学了点,但是写起来还是很费力,被kotlin的判空操作搞的头昏脑胀的,这里整理一下。Kotlin 校验字符串空值isNullOrEmpty:为空指针或者字...
2019-05-24 15:32:31
13621
原创 计算两个日期相差的月数
前言最近做Calendar(日历)相关是内容,有需要计算日期之间月份的差值,研究了Calendar函数,发现真是高到大尚:计算差值 public static int getMonthDiff(Date d1, Date d2) { Calendar c1 = Calendar.getInstance();//实例化 Calendar c2 = Calen...
2019-04-15 21:09:40
6787
1
原创 布局底部弹出动画
前言项目中有一个需求是日期筛选是从底部慢慢往上弹出的效果,当时想到的是通过给布局一个展示动画来实现,然后就各种百度如何实现:创建anim首先在drawable文件夹下创建anim文件夹来存放动画布局,动画效过分为两部分:**底部弹出动画 ** bottom_show.xml<?xml version="1.0" encoding="utf-8"?><set xmlns...
2019-04-15 20:57:02
1575
原创 基于RecycleView实现的头部悬浮控件
前言前几天看到一个RecycleView中筛选框滑动可以悬浮在头部的效果类似商机盒子中的商机模块。本来想法很常规通过Recycview装饰器来实现(刚开始是否定掉的感觉太难)通过Recycleview滑动监听,判断当前可见的item是否是我需要处理的,然后通过显示隐藏来做简单的逻辑处理(但是做的时候效果不尽人意,同时Recycleview是有弹性滑动的,那段距离我监听不到,遂卒。)通过...
2019-01-26 23:16:03
689
原创 再见2018
前言其实几个月前就有打算,写个18年的总结,甚至规划了自己剩下几个月的计划,因为一年过去了,我想留下点什么,总不能碌碌无为吧!但是奈何我是个凡人,或者说是:现实生活中的自己,没有想象中的那么优秀。在没有金钱的诱惑下,坚持真的是件很困难的事情对我而言!经历了太多的半途而废,太多的迷茫,于是这个年终总结早产了!我想我需要静下心来想想,这一年我做了什么,以后要怎么做。at work如果简单的串联下...
2018-12-31 10:35:10
264
原创 Kotlin中Set、Map、List 容器使用
前言之前讲了Kotlin中基本数据类型和String字符串拼接的一些基本用法,这里学习一下kotlin中数组和集合容器,其实挺想上来就用kotlin写页面的,毕竟那样有成就感,也不会枯燥无味,但是从java学过来深知基础的重要,所以还是一步一步来。数组声明kotlin中基本类型的数组声明,初始化一个整形数组: var int_arr: IntArray = intArrayOf(1, 2...
2018-11-11 18:39:19
8578
1
原创 Kotlin基本数据类型
前言本人学Kotlin是冲着做安卓去的,所以一开始上来就借助Android studio成功创建一个Kotlin文件,洋洋洒洒用Kotlin写几个控件,然后直呼Kotlin大法好啊,自以为入门了,其实NO!NO!NO!, 写一个成序就好比盖一座房子,你只有熟悉每一块材料的用途,才能盖出你想要的房子。打完脸后决定从地基开始。基本数据类型和java类似Kotlin也有自己的基本数据类型,语法差别...
2018-11-03 16:24:52
868
原创 Android studio如何创建Kotlin工程
前言Kotlin已经出来有一段时间了,其实本人还是比较喜欢java的,但是作为一名合格的Android开发不懂kotlin肯定是说不过去的。(主要面试老是被问)所以决定花点时间来研究一下,记录自己从入门到放弃,说实话不太喜欢那些高级语言,简单就意味着会有高度的封装,这样知其然不知其所以然的感觉是很痛苦的,但是毕竟是Google的亲儿子所以未来很可能是从事Android开发的一种趋势,下面就简单记...
2018-10-08 17:56:28
7849
1
原创 Sqlite简单使用
前言Sqlite是Android自带的轻量级数据库,一个项目中多多少少都会有用到数据库地方像,下载、以及做一些埋点上传等,但是自己很少从头到尾去写过数据库。这里整理一个dome记录一下包括常用的(增、删、改、查和数据库升级)。SQLiteOpenHelper创建数据库的帮助类具体代码如下://创建数据库帮助类public class CustomSQLiteOpenHelper exte...
2018-09-28 11:04:23
361
原创 生活会善待你
文章目录会满足吗焦虑满足?你经历了什么会满足吗18年快过去了,很少真正的问过自己,想要的到底是什么,一直以为只要你加油努力,同龄人有的你都有然后你还比他们优秀你就会满足,就会有成就感。换了份工作突然闲下来,有时间去思考,却发现自己真多很少去问过自己,到底想要的是什么,到底得到什么算是满足。焦虑安逸给人带来的第一大问题就是焦虑,莫名的危机感,加班的时候,幻想过无数次睡到自然醒,但是真的有这个...
2018-09-25 10:14:37
517
原创 Android WeView于js交互
前言项目中遇到要通过原生去分享h5页面的内容,但是产品经理的需求比较奇葩:如果当前页面存在分享方法则去调取页面分享的方法,如果没有则取页面的第一张图片为分享图片,description为分享内容拿到需求的时候心里一愣一愣的,卧槽还有这种操作但是产品大人在上还是想办法去实现了。思路我当时想,通过WebView我们可以拿到页面的title和URL但是产品的需求时页面有分享方法得...
2018-08-02 22:45:05
350
原创 谁的青春不迷茫
前言起这个标题的时候,其实内心是拒绝的,因为自己的青春早已不在了,没有谁会甘心从一个小青年变成一位叔叔,但当你发现你再也熬不了夜,打球时都是比你高半头的00后,你必须承认你已经老了。至少不是那个无忧无虑的年纪了,你工作了,开始考虑未来了,也常常因为巨大的工作压力而失眠。去年十月份至今不到一年的时间,但是经历却很丰富,换了一家公司,新环境,新的工作习惯,整个人变了很多唯一不变的便是:工作压力以及...
2018-07-08 19:01:49
292
安卓断点续传 问题
2017-07-25
类似快看APP漫画城的实现思路
2017-06-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人