什么是Navigation? 在没有Navigation之前我们切换Fragment是通过FragmentManager的add、commit、replace等方法操作(网上...
查看Android Gradle 依赖树 方式一: ./gradlew :模块名:dependencies //查看单独模块的依赖 $ ./gradlew :app:dep...
背景图片中实现图片的平铺效果 在定义的shape中添加背景图 选中非选中背景切换 选中非选中文本颜色切换 String.xml中引用公共item ClickableSpan ...
Android 内存优化(常见的内存泄露以及优化方案) 内存泄露的含义: 如果一个无用对象仍然内其他对象持有引用,使该对象无法被系统回收,以致该对象在堆中所占用的内存单元无法...
在某些情况下,点击APP图标,可能会有几秒中的延时才会显示APP界面,但是在显示界面之前点击桌面的其他位置是无效的,因为此时APP其实已经启动了,只是没有显示出来而已,这个阶...
linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。 直接rm就可以了,不过要加两个参数-rf 即:r...
在组件化之前的一种业务业务划分架构是一种单一分层的结构,整个APP是一个Module,不同的业务拆分在不同的包下: 不管分包做的多好,随着项目的增大,项目会失去层次感,导致接...
JetPack学习笔记之DataBinding(五) 使用ObserverField实现数据的双向绑定,即字段变化时,控件中的内容会随之变化,当控制中的内容变化时,字段的值也...
JetPack学习笔记之DataBinding(四) 为了让布局文件能够承担更多的工作,处理更复杂的业务逻辑,DataBinding库允许我们自定义BindAdapter,下...
JetPack学习笔记之DataBinding(三) 在编写布局文件的过程中,会遇到布局层次结构复杂或者布局文件在其他布局文件中可以复用的情况,此时我们会将布局文件抽象为一个...
JetPack学习笔记之DataBinding(二) 上一篇文章中介绍了DataBinding的基本使用方法,通过DataBinding让布局文件承担了属于Activity的...
JetPack学习笔记之DataBinding(一) 布局文件通常只负责UI控件的布局工作,页面通过setContentView()方法关联布局文件,然后通过View的id找...
在页面功能较简单的情况下,通常将UI的交互、数据获取等业务全部写在页面中,即通常的MVC模式。但是在页面功能较复杂的情况下,这样做不合适,因为它不符合单一职责原则,页面只应该...
JetPack学习笔记之Navigation(三) Navigation组件还提供了一个很实用的特性DeepLink,即深层链接。通过该特性,可以利用PendingInten...
JetPack学习笔记之Navigation(二) JetPack引入了NavigationUI组件,使得APP Bar中的按钮和菜单可以和导航图中的页面关联起来。比如上文中...
JetPack学习笔记之Navigation(一) 谷歌提供的Navigation组件,旨在管理页面和APP Bar。其中页面包含Activity和Fragment,但是主要...