- 博客(34)
- 收藏
- 关注
原创 横扫鸿蒙弹窗乱象,SmartDialog出世
横扫鸿蒙弹窗乱象,SmartDialog出世!ohos_smart_dialog对于鸿蒙而言,日常场景就是雪中送炭!
2024-08-11 11:43:48 507
原创 Flutter 如何将代码显示到界面上
如何优雅的将项目中的代码,亦或是你的demo代码展示到界面上?本文对使用简单、便于维护且通用的解决方案,进行相关的对比和探究
2023-05-05 08:43:12 1022
原创 SmartDialog迁移至4.0:一份真诚的迁移说明
前言一个开源库,随着不断的迭代优化,难免会遇到一个很痛苦的问题最初的设计并不是很合理:想添加的很多新功能都受此掣肘想使得该库更加的强大和健壮,必须要做一个重构因为重构涉及到对外暴露的api,所以大家会遇到一个比较烦躁的问题:更新版本后,会大面积报错我考虑了很久,到底怎么帮大家快速迁移呢?最终想到了一个还算合理的方案对于flutter_smart_dialog 4.0版本的改动,很多是为了解决自己以前考虑不周的历史遗留,以前这个库的初心,主要是为了解决loading和dialog穿透问题;
2022-05-04 22:58:53 1814
原创 Flutter 让你的Dialog脱胎换骨吧(Attach,Dialog,Loading,Toast)
前言Q:你一生中闻过最臭的东西,是什么?A:我那早已腐烂的梦。兄弟萌!!!我又来了!这次,我能自信的对大家说:我终于给大家带了一个,能真正帮助大家解决诸多坑比场景的pub包!将之前的flutter_smart_dialog,在保持api稳定的基础上,进行了各种抓头重构,解决了一系列问题现在,我终于可以说:它现在是一个简洁,强大,侵入性极低的pub包!关于侵入性问题之前为了解决返回关闭弹窗,使用了一个很不优雅的解决方法,导致侵入性有点高这真是让我如坐针毡,如芒刺背,如鲠在喉,这个问题终
2022-01-03 22:06:24 2951
原创 这一次,解决Flutter Dialog的各种痛点
前言Q:你一生中闻过最臭的东西,是什么?A:我那早已腐烂的梦。兄弟萌!!!我又来了!这次,我能自信的对大家说:我终于给大家带了一个,能真正帮助大家解决诸多坑比场景的pub包!将之前的flutter_smart_dialog,在保持api稳定的基础上,进行了各种抓头重构,解决了一系列问题现在,我终于可以说:它现在是一个简洁,强大,侵入性极低的pub包!关于侵入性问题之前为了解决返回关闭弹窗,使用了一个很不优雅的解决方法,导致侵入性有点高这真是让我如坐针毡,如芒刺背,如鲠在喉,这个问题终
2021-11-06 22:44:45 3873 3
原创 Flutter 对状态管理的认知与思考
前言由 编程技术交流圣地[-Flutter群-] 发起的 状态管理研究小组,将就 状态管理 相关话题进行为期 两个月 的讨论。目前只有内定的 5 个人参与讨论,如果你对 状态管理 有什么独特的见解,或想参与其中,可咨询 张风捷特烈 ,欢迎和我们共同交流。关于这篇文章的一些内容,我很久之前就想写的,但一直没啥源动力,就一直鸽着这次被捷特大佬催了几次,终于把这篇文章写完了,文章里有我对状态管理的一些思考和看法,希望能引起茫茫人海中零星的共鸣。。。状态管理的认知变迁解耦是众多思想或框架的
2021-09-26 09:24:14 776
原创 GetX代码生成IDEA插件,超详细功能讲解(透过现象看本质)
前言本文章不是写getx框架的使用,而且其代码生成IDEA插件的功能讲解我之前写过俩篇很长很长的getx文章一篇入门使用:Flutter GetX使用—简洁的魅力!一篇原理深度剖析:Flutter GetX深度剖析 | 我们终将走出自己的路(万字图文)鱼和渔都已经交给大家了,就没必要去赘述了同时,我也写了一个getx代码生成插件:getx_template,这个工具相当于钓鱼座椅(让你更舒服的钓鱼或吃鱼?)吧!初期功能十分简单,就是生成单页面相应的模块代码,连个记忆选项功能都没有,基本上就是个
2021-09-07 10:08:20 923 9
原创 如何优雅的在业务中使用设计模式(代码如诗)
前言有段时间没写文章了,最近沉迷Rust,无法自拔,锈儿有毒;这真是门非常有趣的语言,很多地方的设计,真的是满足了我所有的向往。当然,这也不是一门简单的语言,提出所有权的概念,引入了极多符号:mut、&mut、ref mut、&、*、as_mut、as_ref。。。让人头秃。。。之前看到过一句话,觉得很不错:学习Rust并不会给你带来智商上的优越感,但或许会让你重新爱上编程。大家如果阅读过一些开源框架的源码,可能会发现其中数不尽的抽象类,设计模式拈手而来,在功能框架中,可以使用设
2021-08-24 14:52:46 886
原创 【源码篇】Flutter GetX深度剖析 | 我们终将走出自己的路(万字图文)
前言人心中的成见是一座大山,任你怎么努力都休想搬动。这是电影《哪吒》里申公豹说的一句话,也是贯彻整部电影的一个主题;或许这句话引起了太多人的共鸣:35岁职场危机,大厂卡本科学历,无房无车结婚难等等,所以,这句话也经常被人提起。同时,因为GetX作者的一些言论,也让一些成见一直伴随着GetX这个框架。我写这篇文章,并不是为GetX正名我自问自己并不是任何一个状态框架的死忠者,Provider和Bloc,我写了相关使用、原理剖析文章和相关代码生成插件在我心中,这类框架并没有多么神秘因为对其.
2021-07-14 10:06:09 2946 1
原创 【源码篇】Flutter Bloc背后的思想,一篇纠结的文章
前言看了Bloc源码后,心情有点复杂呀。。。说点积极的…用过Bloc的靓仔们,肯定能感受到,Bloc框架对开发页面,做了很清晰划分,框架强行定了俩种开发模式Bloc模式:该模式划分四层结构bloc:逻辑层state:数据层event:所有的交互事件view:页面Cubit模式:该模式划分了三层结构cubit:逻辑层state:数据层view:页面作者在层次的划分上还是很老道的,state层是直接写死在框架内部,这层必须要单独分出来;我感觉如果不是被大型项目
2021-06-15 14:34:09 578 2
原创 【源码篇】Flutter Provider的另一面(万字图文+插件)
前言阅读此文的彦祖,亦菲们,附送一枚Provider模板代码生成插件!我为啥要写这个插件呢?此事说来话短,我这不准备写解析Provider源码的文章,肯定要写这框架的使用样例啊,然后再哔哔源码呀!在写demo样例的时候,新建那俩三个文件、文件夹和必写的模板代码,这让我感到很方啊,这不耽误我时间嘛!然后就撸了这个插件,相对而言,多花了几百倍的时间。。。希望这个插件,能减轻使用Provider小伙们的一点工作量;插件里面的模板代码是经过我深思熟虑过的,如果各位靓仔有更好的模板代码,请在评论里贴出来,
2021-05-31 10:37:03 678 1
原创 【源码篇】ThreadLocal的奇思妙想(万字图文)
前言ThreadLocal的文章在网上也有不少,但是看了一些后,理解起来总感觉有绕,而且看了ThreadLocal的源码,无论是线程隔离、类环形数组、弱引用结构等等,实在是太有意思了!我必须也要让大家全面感受下其中所蕴含的那些奇思妙想! 所以这里我想写一篇超几儿通俗易懂解析ThreadLocal的文章,相关流程会使用大量图示解析,以证明:我是干货,不是水比!ThreadLocal这个类加上庞大的注释,总共也才七百多行,而且你把这个类的代码拷贝出来,你会发现,它几乎没有报错!耦合度极低!(唯一的报错是因为
2021-05-06 10:20:44 209 2
原创 【源码篇】Handler那些事(万字图文)
前言Handler属于八股文中非常经典的一个考题了,导致这个知识点很多时候,考官都懒得问了;这玩意很久之前就看过,但是过了一段时间,就很容易忘记,但是处理内存泄漏,aidlHandler之类的考点答案肯定很难忘。。。虽然考官很多时候不屑问,但是要是问到了,你忘了且不知道怎么回答,那就很尴尬了鄙人也来炒个剩饭,力求通俗易懂的来描述下Handler机制的整个流程,相关知识点,画了一些流程图,时序图来展示其运行机制,让本文图文并茂!文章中关键方法源码,可以直接点击方法名,跳转查看对应方法的源码如果看了没
2021-04-12 14:14:01 321
原创 Flutter 改善套娃地狱问题(仿喜马拉雅PC页面举例)
前言这篇文章是我一直以来很想写的一篇文章,终于下定决心动笔了。写Flutter的小伙伴可能都感受到了:掘金的一些热门的Flutter文章下,知乎的一些Flutter的话题下或者一些论坛里面,喷Flutter套娃地狱总是永不过时的一个话题。如果你不服气,上去辩驳俩下:“嵌套是你代码习惯问题,你看我,直接一个Row,反手一个Column,在children中把widget一提,层次分明,年轻人望你耗子尾汁,莫要瞎带节奏”;然后你可能就被一群人喷成狗,大意了,这帖子没同一阵营的小伙伴,喷不过,闪了闪了;
2021-03-15 15:21:24 971 4
原创 Flutter GetX使用---简洁的魅力
前言使用Bloc的时候,有一个让我至今为止十分在意的问题,无法真正的跨页面交互!在反复的查阅官方文档后,使用一个全局Bloc的方式,实现了“伪”跨页面交互,详细可查看:flutter_bloc使用解析;fish_redux的广播机制是可以比较完美的实现跨页面交互的,我也写了一篇近万字介绍如何使用该框架:fish_redux使用详解,对于中小型项目使用fish_redux,这会一定程度上降低开发效率,最近尝试了GetX相关功能,解决了我的相当一部分痛点把整篇文章写完后,我马上把自己的一个demo里面
2021-02-01 10:08:28 27903 28
原创 使用自己的开源项目,申请JetBrains正版全家桶!
使用自己的开源项目,是可以白嫖JetBrains正版全家桶的!前言之前在学Go的时候,想着要用什么编辑器,网上的大佬都讲,想省事直接用Goland,用VsCode配置会存在一些未知的使用体验问题,大佬们的敦敦教诲不能不听,下了一个Goland,看了下包年价格,正版的Goland需要199$,一千多块钱。。。为了学习,只能昧着良心,去搞些不值得提倡的操作各种激活码:基本上,没几天就失效了,坑某宝买了一个国外的教育邮箱,激活了全家桶,用了几个星期,JetBrains发邮件给我,说这个学校好像
2020-12-31 09:44:52 2525 1
原创 一种更优雅的Flutter Dialog解决方案
前言系统自带的Dialog实际上就是Push了一个新页面,这样存在很多好处,但是也存在一些很难解决的问题必须传BuildContextloading弹窗一般都封装在网络框架中,多传个context参数就很头疼;用fish_redux还好,effect层直接能拿到context,要是用bloc还得在view层把context传到bloc或者cubit里面。。。无法穿透暗色背景,点击dialog后面的控件这个是真头痛,想了很多办法都没在自带dialog上面解决系统自带Dialog写成的
2020-12-04 17:37:54 3434
原创 一文总结设计模式
前言看了很多寓教于学写设计模式的,看的有点头疼,注意力全都在故事上了,满脑子都是鸭子,餐厅之类,还有一堆和设计模式不相关的话,翻书都翻的挺累的。这里我整理了下23种设计模式,没什么多余的话,代码演示,简单粗暴,借鉴的地方都附上了参考链接(做个优秀的搬运工),没附上的是自己总结的。借鉴的例子代码,基本都做了一些精简,如果相关例子写的有什么不准确,麻烦在评论里面指出来,最好附上代码,我会尽快修改文章中的相关实例。23种设计模式,一文呈现,方便大家和自己查询,也方便自己随时修改;请配合文章旁边的大纲食用
2020-11-23 16:16:21 386
原创 Flutter&Dart Callback转同步
怎么将一个Callback回调转化成Future同步方法(Callback to Future),可以配套async / await去使用呢?
2020-10-23 15:12:06 970
原创 Flutter Webview添加Cookie的正确姿势
场景h5页面要从cookie里面取数据,所以需要在flutter webview的cookie里面塞一些数据,设置的数据多达十几条;按照网上查的使用方式来设置,通过fiddler抓包发现,只能生效一条,来来回回试了很多次都只有一条,心态崩了后来看到cookie设置数据也是类似键值对里面套键值对,灵机一动,变换下后就成功了,记录下正确的写法吧正确姿势引入使用的是flutter官方维护的webview插件webview_flutter: ^0.3.22+1错误示例这是最坑的一个,widg
2020-09-22 19:55:06 1525 2
原创 fish_redux使用详解---看完就会用!
前言来学学难搞的fish_redux框架吧,这个框架,官方的文档真是一言难尽,比flutter_bloc官网的文档真是逊色太多了,但是一旦知道怎么写,页面堆起来也是非常爽呀,结构分明,逻辑也会错落有致。其实在当时搞懂这个框架的时候,就一直想写一篇文章记录下,但是因为忙(lan),导致一直没写,现在觉得还是必须把使用的过程记录下,毕竟刚上手这个框架是个蛋痛的过程,必须要把这个过程做个记录。这不仅仅是记录的文章,文中所给出的示例,也是我重新构思去写的,过程也是力求阐述清楚且详细。几个问题点页面切换
2020-08-12 17:48:42 2118 5
原创 flutter_bloc使用解析---骚年,你还在手搭bloc吗
前言首先,有很多的文章在说flutter bloc模式的应用,但是百分之八九十的文章都是在说,使用StreamController+StreamBuilder搭建bloc,提升性能的会加上InheritedWidget,这些文章看了很多,真正写使用bloc作者开发的flutter_bloc却少之又少。没办法,只能去bloc的github上去找使用方式,最后去bloc官网翻文档。蛋痛,各位叼毛,就不能好好说说flutter_bloc的使用吗?非要各种抄bloc模式提出作者的那俩篇文章。现在,搞的杂家这个伸
2020-08-02 14:01:27 3410 5
原创 Android-多分辨率屏幕UI界面适配
讲真的,在项目开发中,界面适配是非常重要的,在Android上面有俩个很火的界面适配库:AndroidAutoLayout和AndroidAutoSize,AndroidAutoLayou用起来感觉还是略有点麻烦;AndroidAutoSize我之前,在刚开始一个项目里面引入了,可是这个库的侵性太强,按照头条的适配原理去实现的,改变了:density 的值,这个值是个很重要的值:px = dp ...
2020-04-04 22:08:11 662
原创 Android-自定义view(可设各角度弧边,渐变,边框,按压效果)
引入在gradle(Module:app)里添加配置:implementation 'com.ytman:TaoLibrary:1.1.50'自定义view写到按钮的时候,经常遇到长方形按钮,角度需要不同的弧度;需要边框;需要点击的按压效果;渐变色,渐变色按压效果啥的;圆形头像,弧度图片什么的。每每这时候,就去写个一堆xml,放在drawerable里面,然后再去调用,写的真是方...
2020-03-22 23:19:21 1296
原创 玩Android(flutter + fish_redux)
github:https://github.com/CNAD666/flutter_wan注:该项目为Flutter + fish_redux,页面基本均是fish_redux搭建第一版 首页banner展示,首页文章分页加载,完成下拉刷新,上拉加载 完成知识体系和体系详情模块 完成导航模块 完成项目模块 侧栏布局完成,功能留坑,方便添加预计第二版 搜索功能 收...
2020-03-22 23:00:05 517
原创 Android与Flutter混合开发-UI交互
前言本人是做android的,这边只介绍下Android和Flutter的混合开发。关于原生和Flutter的混合开发,网上有很多相关的文章了,基本上都是使用FlutterView和FlutterFragment的方式去做的,但是在新版Flutter SDK 1.12版本上,Flutter团队把io.flutter.facade.Flutter这个包给删了,上面俩种方式直接凉了,根本无法在A...
2020-02-14 18:19:10 858 2
原创 设计模式之工厂模式(Java篇)
创建型模式-工厂模式在设计模式中,工厂模式可以说是非常实用的一种设计模式,利用抽象工厂模式解耦上层引用和底层实现,能极大的提高代码扩展性,后期维护起来不会一改就是几十个类了,来吧,好好的说道说道工厂模式。我会尽可能详细阐述清楚该模式所表达的一种设计思想,结尾给出一个利用抽象工厂模式,创建中间层,提出一个开发中因为未解耦而造成维护困难的的解决方案。注意:文章中阐述的三种工厂模式代码是隔离的...
2019-09-10 13:54:02 189
原创 创建Android依赖库-托管JCenter(全过程完善版)
创建Android依赖库详细步骤,托管在android官方平台JCenter上。准备工作创建项目填好个人信息,填好之后点击“Finish”配置项目现在一般默认创建项目的gradle版本都很高,但是这会和bintray库(Jcenter放置的网站)产生冲突,3.0.x到3.4.x基本都测了,直接写出不冲突的版本吧classpath ‘com.android.tools.bui...
2019-08-23 09:37:46 803
原创 Android 一句代码实现各式Dialog弹窗
app中有很多提示,或者让用户选择的操作,这是弹窗就很重要,而且使用频率也很多,深度封装了下几种Dialog,来看看如何使用吧!YTAOLibrary库(github):https://github.com/CNAD666/YTAOLibrary引入在gradle(Module:app)里添加配置:implementation 'com.ytman:YTAOLibrary:1.0..........
2019-02-13 16:27:03 2110 1
原创 Android一步步教你发布库到Bintray、JCenter(使用bintray-release)| 踩坑集锦
这三天,我感觉我可能踩了所有的坑吧。。。说下为什么要用JCenter吧,首先JCenter 库是托管在 Bintray 网站上的,发布库到JCenter是需要注册Bintray网站的,JCenter在你创建项目的,是默认给你添加的,谷歌亲儿子,相关支持也比较到位,兼容也比较跟随版本,但是我觉得最重要的是,更新版本要比Jitpack方便很多啊,Jitpack每次要更新库,还需要push到gith......
2018-12-03 22:00:13 3164
原创 Android Studio制作依赖库上传至github,使用Jitpack,让别人在AS中调用(依赖库冲突踩坑全攻略)
这段时间在项目中做了一些感觉不错的模块化功能,然后又看见代码有些冗余,就想做成依赖库,模块化。使用起来更方便。接下来,就搜人家是怎么做的,这俩天试了很多,产生了一些依赖库冲突问题,搜索到高票博客上基本都只是简单的写了流程,很大一部分都没说明,会产生的依赖库冲突问题。那我就记录下遇到的依赖库冲突问题,并给出一些解决方案。好了,进入正题,我们先完整的跑一遍发布依赖库流程。首先,我们先测试下...
2018-11-22 10:42:03 1473
转载 Windows10 edge浏览器关闭,选择“总是关闭标签页“后关闭后没有提示
Windows10 edge浏览器关闭,选择“总是关闭标签页“后关闭后没有提示解决选择了“总是关闭所有便签页”后,不管是重置Internet选项还是关闭重启Internet11都不能再次出现这个关闭标签界面。今天终于找到了解决办法。按Window建+R,输入cmd进入命令窗口,复制贴贴以下代码:reg add "HKEY_CLASSES_ROOT\Local Settings\Soft...
2018-08-20 08:51:36 7013
原创 Android Studio按Ctrl+Shift+F,全局搜索打不开问题
关于Android Studio按Ctrl+Shift+F,全局搜索打不开问题,很有可能是搜狗输入法的快捷热键冲突需要做的是,是把简繁切换的红勾,勾选关掉。 这个真的是无意发现。我就想怎么全局搜索老是打不开,而且注释的时候冒出好多繁体字。。。...
2018-07-19 10:28:50 2500
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人