20个问题,搞清楚编程为什么采纳MVVM模式

















“用Material3 写一个包含上中下排版的界面”是第1个问题,见附图2。提出这个问题时,我只想创建应用程序的入口页面,包括顶部应用栏,中间内容栏,底部导航栏三部分。第2个问题是Android Studio中View也是可以组合的,为什么Jetpack Compose叫“可组合函数”?难道还有“不可组合的函数”?见附图4。
第2个问题与第1个问题没啥关联,是我在提出第1个问题之后,突然想起之前看到“可组合函数”这种说法,不知道这种说法是什么意思,为了防止这个问题被遗忘,所以赶紧提出来。
“Material3实现上中下三栏,是不是只有Scaffold组件?”这是第3个问题,见附图3。之前我关注过这个问题,Android应用实现三栏排版举例的代码中用的是Scaffold组件。这个问题与第1个问题直接相关,关注到其中底部导航有两种方式:BottomAppBar与NavigationBar。这两种导航分别用在什么应用场合呢?这是我提出的第4个问题。
随后又提出第5、6个问题,这两个问题都是由第1个问题衍生出来的,我在问出第1个问题时,AI给出代码举例,代码中有“@OptIn(ExperimentalMaterial3Api::class) ”、“@Preview(showBackground = true) ”字样,我看不懂,就顺口问了。
之前我在Android Studio中试着创建了几个项目,关注到入口文件MainActivity.kt中的同名类中的onCreate函数,包含了一个标注@Compose 的函数Greeting。我已经知道差不多是这个意思,onCreate函数把Geeting函数塞进自己的组合中。也就是第2个问题中的“可组合函数”。
我差不多知道,如果我要写一个上中下结构的文件,MainActivity类,将会把这上中下几个Bar组合在一起。这个几Bar是可以复用的,因此提了这个问题。
附图1是20个问题汇总,附图10-15是我在浏览AI给出的答案时的部分备忘拷屏,其它都是对AI给出信息的整理。
夜雨聆风
