这是我参与「第四届青训营」笔记创作活动的第14天。
本笔记补充一些未在笔记创作活动中单独描述过,但在项目实践中应用或了解到的知识点。
1 Fragment
当一个App拥有可重复使用的界面时,可以考虑使用Fragment实现。Fragment不能单独存在。需要把它放入Activity或者另一个Fragment中。
Fragment也有自己的生命周期。可分为INITIALIZED、CREATED、STARTED、RESUMED、DESTROYED五种。依次回调onAttach()、onCreate()、onCreateView()、onViewCreated()、onViewStateRestored()、onStart()、onResume()、onPause()、onStop()、onSaveInstanceState()、onDestroyView()、onDestroy()方法。
很多方法在Activity中已经见过,因此在这里不重复描述,下面描述一些在Fragment可见到的生命周期回调方法。
onAttach():当Fragment和Activity关联时调用。
onCreateView():为Fragment创建View时调用。
onDestroyView():当与Fragment关联的View被移除时调用。
onDetach():当Fragment与Activity解除关联时调用。
一些文章会介绍onActivityCreated()回调方法,该回调方法是在与Fragment相关联的Activity创建完毕时调用。但目前由于Google逐渐解除Fragment与Activity的耦合关系,这个方法已经被废弃,目前一般是在onViewCreated()中处理View初始化完成后的逻辑。
2 Android Jetpack
Android Jetpack是一个套件,它有多个库组成,其目标是为了让开发的App更容易遵循最佳的实现方法(比如向后兼容、减少内存泄漏)、减少样板代码(比如导航、生命周期管理)、使得代码能兼容不同的Android版本和设备。也因此,Jetpack有助于提升开发效率及代码质量。
Android Jetpack是比较新的技术,其自身也在不断发展、逐渐演进。一些如ViewModel、LiveData的架构类技术;新的Fragment等UI组件;数据库组件Room;分页库Paging等等,都是Jetpack的一部分。这些组件可以单独使用,也可以搭配使用。
顺带一提,Jetpack Compose也是Google较新推出的一种声明式编写原生UI的工具包。
3 Material Design
这是一种外观主题风格,可以在Android中使用。此外,Android提供了一些Material Design的组件,常见的包括悬浮操作按钮(Floating Action Button, FAB)、应用栏、抽屉式导航栏等。
这种设计在主流的App上并不是很常见,至少没有完全遵循其规范。但也有必要对其做一定的了解。
4 总结
本篇笔记对一些此前没有专门写笔记总结的知识点作出了简要的介绍与补充,以使得青训营期间的笔记内容更加完整。同时,这些知识点在实践中也有一定的应用。