![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android项目
文章平均质量分 69
wjxbless
如果觉得简单,那就多思考
展开
-
Jetpack -- DataStore
DataStore简介Jetpack DataStore 是用来替代SharedPreferences的一种数据存储的解决方案,可以使用Kotlin协程和Flow异步,体现数据处理的一致性。注意:DataStrore适用于key-value型的数据存储,Room适用于大型或者复杂的数据存储DataStore使用DataStore : key-value存储和访问数据,不保证类型安全Proto DataStore : 使用Protocol-Buffers存储键值对或类型化对象,保证类型原创 2021-01-01 20:40:06 · 328 阅读 · 2 评论 -
获取Bitmap中主色调的取色器
颜色空间RGB色彩空间RGB颜色空间以R(红)、G(绿)、B(蓝)三种基本色为基础,进行不同程度的叠加,呈现不同的颜色–>三原色模式RGB颜色空间 可以使用一个立方体来表示颜色,黑、蓝、绿、青、红、紫、黄、白8种常见颜色分别位居立方体的8个顶点,通常将黑色置于三维直角坐标系的原点,绿蓝红分别分别置于xyz轴上,个参数的取值范围是:R : 0 - 255, G : 0 - 255, B : 0 - 255其中(0,0,0) ->(255,255,255)的提对角线表示从黑色到白色的灰度值原创 2020-12-19 22:57:18 · 1148 阅读 · 2 评论 -
Jetpack -- App StartUp
定义App StartUp是Google Jetpack新增的一个组件,该组件在App启动时提供了一个直接、高效的方式来初始化组件,同时开发者可以使用App Startup这个组件来简化启动顺序并且显示地设置初始化顺序,通过App Startup这个组件提供了一个ContentProvider来运行所有依赖项的初始化,避免第三方库单独通过ContentProvider进行初始化,从而提高了应用的启动速度,使用效果如下图所示:图片来自 Husayn Hakeem由上面两个图对比可见,App原创 2020-07-12 22:59:43 · 664 阅读 · 0 评论 -
简单天气--Kotlin+JetPack+协程+MVVM架构
????????????简单天气简单天气——遵循 Material Design 风格天气APP,使用彩云天气api,基于MVVM模式结合JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation、Room组件以及协程+Retrofit网络请求,使用Kotlin语言开发的一款天气app。项目地址Weather(github) ( ???? ???? ???? 如果觉得该项目对你有帮助留个star再走叭(๑• . •๑))下载体验当前版本(1.0)项目展示原创 2020-06-23 13:37:30 · 4487 阅读 · 0 评论 -
ViewModel源码分析
ViewModel创建ViewModelProvider(this).get(CustomModel::class.java)点进源码查看ViewModelProvider实现// 实际上调用的方法是ViewModelProvider(activity.getViewModelStore, factory)public ViewModelProvider(@NonNull ViewModelStoreOwner owner) { this(owner.getViewModelStore原创 2020-05-16 21:12:35 · 569 阅读 · 0 评论 -
Jetpack -- WorkManager
简介WorkManager适合处理一些定时执行的任务,它可以根据操作系统的版本自动选择底层是使用AlarmManager实现还是JobScheduler,降低我们的使用成本,同时他还支持周期性任务、链式任务处理等功能。WorkManager可以在应用退出或者手机重启的情况下,还能够执行之前注册的任务主要功能添加网络可用性或充电状态等工作约束调度一次性或周期性异步任务监控和管理计划...原创 2020-05-03 19:58:56 · 632 阅读 · 0 评论 -
ViewModelScope 简介与使用
简介当在ViewModel中引入协程,如果直接使用CoroutineScope,那么需要在onCleared()方法中取消协程,如果忘记取消协程那么会导致出现内存泄漏等各种问题,此时需要使用ViewModel扩展属性viewModelScope来实现协程作用域。viewModelScope源码分析val ViewModel.viewModelScope: CoroutineScope&...原创 2020-04-26 20:04:35 · 9961 阅读 · 0 评论 -
Jetpack -- Navigation
简介NavHost: 是一个存放页面的容器,同时也是一个控制器(Activity /Fragment)NavController:切换页面,需要定制切换路线NavGraph:利用图形化的方式定制切换路线Navigation组件配合ViewModel实现数据共享1.首先创建一个Activity, 两个Fragment以及一个ViewModelfragment的xml如下...原创 2020-04-25 23:05:27 · 175 阅读 · 0 评论 -
Kotlin Coroutine + retrofit + Okhttp3 网络请求实战篇
背景最近看到很多项目都将RxJava + Retrofit 替换成了 Coroutine + retrofit,首先Coroutine + retrofit学习成本相对于Rxjava来说较低,而且最重要的一点是Kotlin的下称实现线程切换的代码更加精简,逻辑相对更加清晰一些注意:没有学习过DSL 以及 协程 的可以阅读以下两篇Kotlin DSLKotlin 协程封装RxJava ...原创 2020-06-06 16:05:20 · 1420 阅读 · 0 评论 -
Hey Flutter: 体验较佳的WanAndroid Flutter客户端
WanAndroid-Flutter 项目????????????项目基于 Flutter 移动应用框架,采用 Dart 语言编写,继续打造新的WanAndroid,重新打磨之前的flutter版本的WanAndroid, 持续更新…项目地址WanAndroid(github) (留下个star再走叭)下载体验当前版本(1.0)项目展示项目功能待完成功能夜间模式切换语言...原创 2020-04-09 14:28:54 · 1076 阅读 · 0 评论 -
Jetpack组件结合MVVM架构的Kotlin版本WanAndroid来啦
WanAndroid-Kotlin 项目根据鸿神提供的WanAndroid开放Api来制作的WanAndroidApp, 基本实现了所有的功能,使用kotlin语言开发,基于Material Design+AndroidX + MVVM + ViewModel + LiveData + RxJava + Retrofit等优秀的开源框架,上次开发的 WanAndroidMvvm版本不是很完善,所...原创 2020-06-06 16:05:29 · 3915 阅读 · 0 评论 -
Jetpack -- Room使用简介
简介Room是对 Android中SqlLite数据库的一个抽象,实现了流畅的访问SqlLite数据库基本使用创建Entity实体类@Entitypublic class Word { // 声明主键 @PrimaryKey(autoGenerate = true) &nb...原创 2020-03-26 14:57:38 · 323 阅读 · 0 评论 -
Jetpack -- LifeCycles
简介android.arch.lifecycle提供的类和接口可以感知activity和fragment的生命周期,可以使得组件自己在activty和fragment的生命周期中的某个状态完成一些操作这样每个组件都可以实现良好的封装,提高了可移植性使用自定义一个Chronometer,实现在activity的onPause时停止计数,onResume时开始接着计数class M...原创 2020-03-25 17:50:48 · 397 阅读 · 0 评论 -
Jetpack-- DataBinding结合ViewModel和LiveData使用
简介DataBinding 用来将数据绑定在UI页面上,实现试图和数据的双向绑定,主要是体现数据驱动开发,具体含义是在得到数据后,通过框架在视图树中找到与数据绑定的视图使用在build.gradle中添加android { .... defaultConfig { &...原创 2020-03-25 13:58:38 · 1532 阅读 · 3 评论 -
Jetpack -- ViewModel状态保存
简介一个Activity对应一个ViewModel,当Activity进入后台,屏幕翻转,语言切换等Activity会重建但是ViewModel还存活着,所以数据并不会丢失,当进程被系统杀死,Activity被回收,那么ViewModel中的数据就会丢失,这时候就需要ViewModelStore使用class MyViewModel(handle: SavedStateHan...原创 2020-03-25 13:57:01 · 562 阅读 · 2 评论 -
Jetpack -- ViewModel使用与分析
简介使用Android AAC组件构建自己的应用之后,为了不让自己停留在仅仅是使用的层面,所以从头开始总结一边AAC组件的使用以及注意的要点ViewModel旨在以注重生命周期的方式存储和管理界面相关的数据, ViewModel 类让数据可在发生屏幕旋转等配置更改后继续存在作用:将View中的数据模块进行单独的管理,使得Activity和Fragment更加简单,只需要专注于界面本身...原创 2020-03-23 19:12:07 · 324 阅读 · 0 评论 -
Jetpack -- LiveData使用与源码流程分析
简介LiveData是给定生命周期的一个数据持有类LiveData配合ViewModel可以将Controller中的逻辑更加简单,在数据进行变动的时候可以通过注入观察者来监听数据的变化LiveData可以感知实现LifecycleOwner组件的生命周期,只有在上述组件的激活状态 (STARTED, RESUMED) 才会通知观察者数据更新当组件的生命周期到了DESTROYED状态的时...原创 2020-03-24 15:24:26 · 509 阅读 · 0 评论 -
Kotlin +MVVM+Livedata+ViewModel实战来啦
WanAndroid-Kotlin 项目根据鸿神提供的WanAndroid开放Api来制作的WanAndroidApp, 基本实现了所有的功能,使用kotlin语言开发,基于Material Design+AndroidX + MVVM + ViewModel + LiveData + RxJava + Retrofit等优秀的开源框架,实现的一个尽可能体验较佳的App,自己也是初学Kotlin...原创 2020-03-06 15:59:58 · 3540 阅读 · 0 评论 -
根据WanAndroid开放Api打造自己的WanAndroid App
WanAndroidMvp根据鸿神提供的WanAndroid开放Api来制作的WanAndroidApp, 基本实现了所有的功能,使用Java语言开发,基于Material Design+AndroidX + MVP + RxJava + Retrofit等优秀的开源框架,这个项目是自己实习后第一次有搭建架构的思路,实现的一个尽可能体验较佳的App,不足之处请大家多多指教参考项目UIheg...原创 2020-01-26 22:43:42 · 3282 阅读 · 2 评论