
Android Jetpack
文章平均质量分 95
梦否
【@】bug修复,程序代做
展开
-
【Android Jetpack】NavigationMenuView的简单封装
文章目录1. 前言2. NavigationView学习2.1 结构3. 思路4. 代码:1. 前言现需要做一个目录的页面,虽然可以使用另起一个Activity来解决,但是却做不出那种类似抽屉导航栏的效果。而这个效果刚好在番茄小说这个APP中存在,平时也在使用。而百度了一下,发现大家所使用的都是Dialog来包装一个Activity。所以接下来看看在番茄小说中是如何实现的。考虑了一下,直接自定义View控件即可,且考虑将其封装为一个第三方控件。2. NavigationView学习这个感觉封装的原创 2022-05-12 16:41:46 · 602 阅读 · 0 评论 -
【Android Jetpack】Navigation——DeepLink
文章目录1. 前言2. 显式深层链接2.1 环境2.2 使用DeepLink2.2.1 NavController.createDeepLink()2.2.2 NavDeepLinkBuilder(context)2.2.3 完整案例3. 隐式深层链接3.1 配置nav_graph.xml3.2 配置声明3.3 调用3.3.1 应用内使用3.3.2 应用外4. 其他1. 前言Navigation中的DeepLink又叫做深层链接。在 Android 中,深层链接是指:将用户直接转到应用内特定目的地的原创 2022-05-03 08:00:00 · 1744 阅读 · 0 评论 -
【Android Jetpack】Navigation——条件导航
文章目录1. 前言2. 实现2.1 基础配置2.2 页面逻辑2.3 代码2.3.1 UserModel2.3.2 LoginFragment2.3.3 DetailFragment3. 代码地址1. 前言拟定在本小节完成条件导航案例。具体逻辑就是:一共三个Fragment,分别为游客可查看的主页、需要登录后才可查看的详情、以及登录页面。用户进入主页后,如果点击了跳转到详情页面,就判断用户是否登录。如果没有登录进入登录页面,否则显示详情页面数据。具体使用技术为Navigation、ViewMode原创 2022-05-03 08:00:00 · 699 阅读 · 0 评论 -
【Android Jetpack】Navigation——基础入门
文章目录1. 什么是Navigation2. 为什么引入Navigation3. 简单使用3.1 环境3.2 布局文件3.3 处理逻辑3.4 ActionBar返回箭头3.5 返回键设置事件4. 导航到目的地导航方式一: Navigation.findNavController(View)导航方式二: Fragment.findNavController()导航方式三: View.findNavController()导航方式四: Activity.findNavController(viewId: Int原创 2022-05-02 08:00:00 · 363 阅读 · 0 评论 -
【Android Jetpack】Room+ViewModel+LiveData
文章目录1. 前言2. 实现2.1 定义Room相关的结构1.2 定义Repository1.3 定义ViewModel1.4 定义RecyclerView1.5 定义Activity1. 前言实现内容:使用Room框架来完成数据库的CRUD操作;对于查询到的数据库数据,使用LiveData进行封装,使得每次数据库中数据更新后都可以自动渲染到RecyclerView控件;2. 实现最后效果:文件结构:2.1 定义Room相关的结构User表:@Entity(tableName =原创 2022-04-27 18:02:28 · 717 阅读 · 0 评论 -
【Android Jetpack】LiveData
文章目录1. 前言1.1 关于观察者模式2. LiveData 的优势2.1 案例一:计时器效果2.1.1 实现方式一:ViewModel+LiveData2.1.2 实现方式二:configChange1. 前言官网地址:https://developer.android.google.cn/topic/libraries/architecture/livedata其实在使用ViewModel和LifeCycle的时候,我们已经看见了LiveData这个组件。在这篇博客中将继续来了解这个组件。其特点原创 2022-04-27 17:03:29 · 1774 阅读 · 0 评论 -
【Android Jetpack】Room——基本使用篇
文章目录1. 前言2. Kotlin中的数据库操作2.1 依赖2.2 基础概念2.2 1 @Entity2.2.2 @Dao2.2.3 @Database2.3 实战3. 总结1. 前言这是一篇之前的文章,记录在看云文档中。还是决定将其整理到Jetpack这个专栏中,构成一套。下面的文章也是根据之前的开发记录来的,做了一个简单的事件记录条目的保存,下面开始正题。当然,我们所使用的就是之前使用过的SQLite数据库。可以简单回顾一下在java中是如何操作数据库的:继承自SQLiteOpenHelp原创 2022-04-21 16:43:49 · 2720 阅读 · 0 评论 -
【Android Jetpack】databinding
文章目录1. 说明2. 使用2.1 环境准备2.2 根据name长度显示Message案例2.3 响应点击事件2.4 可观察数据类型2.4.1 可观测对象2.4.2 可观测字段2.4.3 可观察集合2.5 设置数据可观察3. 自定义BindingAdapter1. 说明本篇博客参考Data Binding in Android (google.cn) 和 数据绑定库数据绑定可以使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源。其实有点类似于MVVM框架,数据和显示的部分动态绑定原创 2022-04-19 21:31:00 · 2247 阅读 · 0 评论 -
【Android Jetpack】LifeCycle
文章目录1. 说明2. Lifecycle2.1 LifecycleObserver2.2 LifecycleOwner3. 案例3.1 案例一:使用LifeCycle解耦页面组件3.1.1 借助生命周期方法3.1.2 借助LifeCycle3.2 案例二:使用LifeCycleService解耦Service组件3.2.1. 基础版本3.2.2. 使用Service3.3. 案例三:监听应用程序的生命周期1. 说明LifeCycle它持有组件的生命周期状态信息,主要用于Activity、Fragme原创 2022-04-18 17:32:15 · 1297 阅读 · 0 评论 -
【Android Jetpack】ViewModel——在Fragment之间共享数据
文章目录1. 前言2. 实现方式2.1 方式一:借助Activity2.1.1 实现案例2.1.2 缺点2.2 方式二:使用本地广播2.3 方式三:使用ViewModel1. 前言在上篇【Android Jetpack】ViewModel——配置更改保留状态数据中简单使用了ViewModel,结合databinding可以将数据很轻松的展示在UI控件上,而不需要过多的配置、数据状态保存和恢复。而ViewModel能做到的不仅是在设备配置发生改变的时候状态保存,还可以用作Fragment之间的数据共享。可原创 2022-04-17 17:13:14 · 4916 阅读 · 1 评论 -
【Android Jetpack】ViewModel——配置更改保留状态数据
文章目录1. 前言1.1 onSaveInstanceState和onRestoreInstanceState1.2 配置文件中配置configChanges属性1. 前言熟悉Activity生命周期的都知道,在默认情况下如果用户设备的配置发生改变的时候,当前Activity会从onPause->onStop->onDestory。所以在用户下次打开的时候,系统会重新实例化这个Activity。也就是会丢失用户之前的数据。而为了解决这个问题,比较经典的做法有两种:1.1 onSaveIns原创 2022-04-15 10:50:55 · 1652 阅读 · 0 评论 -
【Android Jetpack】DataStore
目录1. 前言2. 分类2.1 Preferences DataStore 和SharedPreferences的区别3. 实践3.1 Preferences DataStore3.1.1 依赖3.1.2 案例3.1.3 最后3.2 Proto DataStore3.2.1 依赖3.2.1.1 添加协议缓冲区插件3.2.1.2 配置协议缓冲区3.2.2 定义架构3.2.3 简单使用3.2.3.1 创建序列化器3.2.3.2 数据存储和读取1. 前言Jetpack DataStore 是一种数据存储解决方原创 2022-03-29 15:04:42 · 2129 阅读 · 0 评论