摘要: NavHost 容器,承载页面的。既是容器也是控制器。 Fragment 碎片,依存于activity。NavHost相当于把Fragment弹出去压进来(栈) NavController 控制把哪个页面弄进来,把哪个页面弄出去 NavGraph 想控制把哪个页面弄进来,把哪个页面弄出去就得使用Na 阅读全文
posted @ 2021-09-29 10:10 涂妖教 阅读(400) 评论(0) 推荐(0)
摘要: ViewModel在activity重新创建(进入后台,屏幕翻转,语言切换)数据都不会丢失,但是当后台把ViewModel杀死进程之后,ViewModel也会被杀死,UI数据全没了,咋办? 用ViewModelSavedState。 MyViewModel package com.example.v 阅读全文
posted @ 2021-09-28 17:04 涂妖教 阅读(180) 评论(0) 推荐(0)
摘要: 老写button = findViewById()之类的太费劲了,而且还容易出错,并且后期我们的页面不可能一成不变,页面改变意味着很多地方要改变,这种情况咋办?用 DataBinding解决。 想用DataBingding就得在build.gradle的Android中添加一句话。别忘了syc no 阅读全文
posted @ 2021-09-27 15:57 涂妖教 阅读(150) 评论(0) 推荐(0)
摘要: LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。 自动刷新数据 阅读全文
posted @ 2021-09-27 14:39 涂妖教 阅读(459) 评论(0) 推荐(0)
摘要: 在传统开发模式下,activity的任务太重了,既要负责逻辑处理还要负责UI展示,甚至还得处理网格回调。在小项目里这么写没啥问题,但在大项目中写就会非常臃肿难以维护。。。 viewModel的一个重要作用就是可以帮助Activity分担一部分工作,它是专门用于存放与界面相关的数据的。也就是说,只要界 阅读全文
posted @ 2021-09-27 13:37 涂妖教 阅读(90) 评论(0) 推荐(0)
摘要: 点击按钮,添加了一个英文文本,切换系统语言,那个英文文本自动切换成对应语言。 正常我们直接把字符串写死了,但是这样的话资源和我们的程序没有分离,纠缠在一起,不利于我们对程序的维护和翻译。 解决:我们在strings.xml中点击open editor 点击小球,添加翻译 阅读全文
posted @ 2021-09-27 10:34 涂妖教 阅读(55) 评论(0) 推荐(0)
摘要: gridview_item <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="ver 阅读全文
posted @ 2021-09-25 23:00 涂妖教 阅读(43) 评论(0) 推荐(0)
摘要: mvc 小打小闹 导致activity过于庞大 mvp 升级阶段 接口地狱 mvvm 再次升级阶段 不使用接口回调,而是使用dataBind双向绑定来传递数据 MVVM + JetPack = "谷歌标准化JetPack架构模式" 黄金时代 目前和未来趋势 使用传统模式 完成功能(列出所有问题) N 阅读全文
posted @ 2021-09-24 15:18 涂妖教 阅读(46) 评论(0) 推荐(0)
摘要: intent就是组件和组件之间的跳转,比如说后期的服务等等,都要用到intent 跳转并传值(静态注册) package com.example.myactivity77; import androidx.appcompat.app.AppCompatActivity; import android 阅读全文
posted @ 2021-09-22 16:39 涂妖教 阅读(89) 评论(0) 推荐(0)
摘要: 例:比如说要写一个购物,卖票类的软件,那么用户可以设置抢票提醒(加购后开抢自动提醒),或者直接向日历中插入一个事件。 阅读全文
posted @ 2021-09-22 11:24 涂妖教 阅读(65) 评论(0) 推荐(0)