暂无搜索历史
我们这里随便举个例子,不同平台打印不同的log,可以看到,在华为手机上打印出了current is Huawei,而在三星手机上打印出了Samsung,创建简单...
本期举例的自定义view只是抛砖引玉,随手写的没有经过测试,如果想使用一定要三思而后行~
之前的路由篇我们大概讲了一个简单的模块化路由的实现思路,但是用起来比较麻烦,每次还需要手动指定path,手动注册到core_router模块,那么今天,我们就来...
原因是android app在启动时,由于application初始化等原因会有一个短暂的延迟,导致点击launcher后不能马上启动activity并渲染。通...
说到登录,我们不得不聊到一个设计模式——状态模式,顾名思义,他是专门用来处理不同状态的不同动作的设计模式。
经过几期的基础封装,我们的模块化项目基本已经达到了可用的状态,那么今天就来试试开发一个带搜索的列表页面开发吧~
在androidx.lifecycle:lifecycle-common:2.6.1中,lifecycleScope.launchWhenResumed 标记了...
我们看到每个结果打印了两次,其中name由5变成了6,其中5是原始值,6是最后修改数据使用的值,这里就是使用flow的好处了,修改数据库直接能够反馈到所有监听f...
本来想连room一起封装好的,但是临时有事,就先发个mmkv,下期我们研究room
android6.0以上需要动态请求权限,这里不多废话了,想达到一个简单高效的权限使用方式,就跟我一步一步去封装。
前面我们说到,目前网络框架选择基本都为retrofit,目前算是最好用的android网络框架之一了。
前两节我们了解了android框架搭建的基础,这期我们来补充之前留下的坑:模块间通讯。
android项目目前已经成熟了很多,官方也在寻找合适的模块化方式,不过就目前的状况来看,并没有一个统一的模块化构建方案,本篇为大家提供一个模块化思路,本项目也...
本系列旨在帮助android新人搭建属于自己的项目框架。由于篇幅较长,本人时间有限,因此更新系列可能周期较长。
暂未填写公司和职称
暂未填写个人简介
暂未填写技能专长
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市