LxStorage

lx8421bcd's blog, record everything I want to share

GetX的非议与所谓声明式UI

前言 数据源 - 数据处理 - 数据展示,时如何组织代码安排好这三者的关系,是所有客户端开发都不能回避的问题。在Android/iOS中,这个话题叫架构,在Flutter里,这个话题叫状态管理。 我是在做Flutter的技术选型的时候才关注到,然后很奇妙的,怎么感觉这个状态管理好像是个Flutter技术圈经久不衰的撕逼话题?Android架构选型虽然也经常撕逼,但Android架构基本上...

使用FileWatcher实现flutter代码自动生成

前言 之前在搭建Flutter项目框架一文中提过一个观点 “资源引用化”,即像Android、iOS等原生开发一样,将图片、多语言适配文本等资源生成一份Path-Constants映射表,然后在项目中以使用常量引用的方式获取这些资源的路径/值。这样一旦资源路径或命名发生变更,只需调整常量对应路径的值,无需变更业务代码。 但这就有一个问题,「修改常量对应路径值」的这个操作还是手动的,手动就...

Flutter项目框架搭建小记

前言 今年Flutter更新3.0版本之后,性能、稳定性、API丰富程度相比于之前又更加强了一些,公司在新项目上也开始推行Flutter-native并行计划,安排我来主导这个事。我以前也就是写过一点flutter的demo,此次从零开始整flutter-native混编,记录一下框架搭建和SDK选型的思路,仅供参考。 工程组织 新项目 如果你是从零开始的新项目,或者说flutter...

Kotlin开发中的一些坏习惯

前言 Google的Kotlin-First政策推行了也有好几年了,市面上大部分新项目也都是用kotlin开发的了,可以这么说,掌握Kotlin基本已经是做Android开发的必备技能了。话虽如此,实际上就我个人和周边的经历而言,Android客户端开发面试问”Kotlin这门语言本身”的面试题并不多,大厂尚且少见,中小厂更是如此。究其原因,Kotlin本身是一个”Better Java”...

Android多语言适配要点速记

前言 前段时间做的一个项目涉及到了多语言支持,需要支持英文、简体中文、繁体中文,在做多语言适配时,遇到了一些……不能算是坑的问题吧,虽然已经整理进代码库,但觉得最好还是略作笔记,方便回忆开发过程,也方便他人少踩点坑。 项目开发要点 全链条参与意识 有没有产品、设计、研发、测试,全链条参与的意识,应该算是一个多语言项目能否顺利开发的先决条件。 一个多语言项目并不只是客户端的工作,以国...

在AndroidStudio4.X以后构建开发模板

前言 长期以来Android Studio除了官方模板之外并没有提供官方的、比较完善的模板编辑系统,而官方模板则是基于FreeMarker。如果用户有自定义模板需求,则基本上是基于官方的模板修改,然后按分类与Android Studio原生的模板放在同一路径下。 这种玩法优点是比较简单,大框架摆在那里,个性化的需求小修小改就可以了,缺点是没什么好用的编辑工具,只有文本编辑器,关键字提示是不存...

内含滚动div的WebView与下拉刷新冲突处理

给简单的WebView加下拉刷新布局很简单,直接RefreshLayout套在WebView外面就好了,比如谷歌的SwipeRefreshLayout。相当的简单粗暴。 这种处理方法遇见大部分结构简单的长页面都是没有问题的。但假如页面结构比较复杂,就会吃瘪了,比如下面这个页面: 类似于这种由固定外框+tab切换内部滚动div的结构,在丢进嵌套下拉刷新的WebView内而不作任何处理的话...

老项目集成ViewBinding注意事项

ViewBinding在2019年的谷歌开发者大会上推出并在Android Studio 3.6之后提供支持。在这之前我们处理XML布局到Java代码的映射要么使用最古老的findViewById要么使用ButterKnife。 findViewById()作为AndroidSDK最原始的手法自然是不会有什么大问题的,除了写着麻烦,以及潜在的类型转换隐患。ButterKnife其实也并没有...

Android项目开发规范整理

原则、规则、建议

最近有新同事要入职,需要整理一份我司Android组的开发规范供新同事快速熟悉工作环境。整理过程中我就发现事情没那么简单,其实可以把开发过程中遇到的问题、解决经验整理出来,声明一些基本开发原则的同时,也可以作为一份避坑指南。 本文长期更新…… 命名规范 package命名 一般采用公司域名倒写+应用名称;单词全小写 举例:微信 - com.tencent.mm;网易云音乐:com.n...

关于Code Review

读“谷歌工程实践”review部分有感

读后感 偶然间看到前些日子谷歌开放的工程实践文档,目前里面只有关于code review相关的内容,虽说没有诸如“如何搭建CR系统怎样部署自动化CR”之类的干货,只是对code review这个制度如何进行,如何进行的更顺利的一些经验之谈,但研读一番下来发现,其实无论做不做code reivew都是有一定收获的。 这一系列文章其实强调了关于CR的几个“要点”,或者说“精神”: 细粒...