要看本系列其他文章,可访问此链接Jetpack架构学习 | Stars-One的杂货小窝 原文地址:Jetpack架构组件学习(2)--ViewModel和Livedata使用 | Stars-One的杂货小窝 Jetpack架构推荐使用MVVM结构,为此推出了几个MVVM的组件库供我们开发者快速接入,首先要讲的就是ViewModel 个人理解:Activity为View,VM就是ViewModel,负责数据的逻辑处理,Model则是数据源 ViewModel 介绍 ViewModel能做什么?…
原文地址:Jetpack架构组件学习(1)--LifeCycle的使用 | Stars-One的杂货小窝 要看本系列其他文章,可访问此链接Jetpack架构学习 | Stars-One的杂货小窝 最近有时间了,准备入坑Jetpack架构,第一篇就学个简单的LifeCycle,可以帮助开发者创建可感知生命周期的组件. 介绍 为什么需要LifeCycle组件? 在很多情况下,我们需要在Activity的相关生命周期中进行相关的初始化操作,比如上一节说到的EventBus,需要在OnCreate()和…
原文地址:Jetpack架构组件学习(3)--Activity Results API使用 - Stars-One的杂货小窝 技术与时俱进,页面跳转传值一直使用的是startActivityForResult方法,如今有了新的API实现方式,学习并稍微总结下 startActivityForResult复习 MainActivity代码: Main2Activity代码: 效果: 上面的代码应该是比较基础的代码,这里我就不再赘述了 主要说些缺点 所有逻辑都在onActivityResult()方…
最近在研究APP的启动优化,也是发现了Jetpack中的App Startup库,可以进行SDK的初始化操作,于是便是学习了,特此记录 原文:Jetpack架构组件学习(4)--App Startup库的使用 - Stars-One的杂货小窝 两种方式初始化SDK 首先,先是讲解了关于SDK的初始化方式,像我们一般使用到百度地图,或者某些开源库的时候,需要我们进行初始化操作 而他们文档给出的大多数为以下方式: 自定义一个Application,在Application对应的生命周期OnCreat…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 目录LiveDataLiveData 简介LiveData 功能概览LiveData 的优点LiveData 使用步骤TransformationsmapswitchMapMediatorLiveDataViewModel基本介绍适用场景ViewModel 的 onCleared 调…
背景 近几年,Android 相关的新技术层出不穷.往往这个技术还没学完,下一个新技术又出来了.很多人都是一脸黑人问号? 不少开发者甚至开始哀嚎:"求求你们别再创造新技术了,我们学不动了!"在这些新技术里,Jetpack 是最具代表性的,它们的知识体系复杂,学起来难度大,学完后实战的坑也多. jetpack一定要学吗? 学,肯定要学,Android Jetpack于谷歌而言,这是他们重新整理和统一安卓生态环境决心的体现,Android Jetpack所展现的内容,也是谷歌想拓展和维护的…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 目录简介Entity 相关注解DAO:增删改查InsertDeleteUpdateQuery其他类型转换模糊匹配输出模式数据库升级正常升级跳跃升级使用案例添加依赖定义Database定义实体定义Dao代码中使用 简介 官方文档 查看最新版本 参考文章 Room是什么? Room是一个…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com Lifecycle Activity和Fragment生命周期感知组件 LifecycleObserver MD 目录 目录简介相关的几个接口和类LifecycleObserverLifecycleOwnerLifecycleLifecycleRegistry使用案例LifecycleOb…
参考:https://mp.weixin.qq.com/s/n-AzV7Ke8wxVhmC6ruUIUA 参考:https://jekton.github.io/2018/06/30/android-arch-ViewModel/ 参考:https://jekton.github.io/2018/07/06/android-arch-lifecycle/ 参考:https://jekton.github.io/2018/07/14/android-arch-LiveData/…
ViewModel 像Activity,Fragment这类应用组件都有自己的生命周期并且是被Android的Framework所管理的.Framework可能会根据用户的一些操作和设备的状态对Activity或者Fragment进行销毁和重构.作为开发者,这些行为我们是无法干预的. 所以Activity或Fragment中的一些数据也会随着销毁而丢失,随着重构而重新生成.比如你的Activity中有个用户列表,当这个Activity重构的时候,新的Activity会重新获取用户列表.对于一些简…
ViewModel 像Activity,Fragment这类应用组件都有自己的生命周期并且是被Android的Framework所管理的.Framework可能会根据用户的一些操作和设备的状态对Activity或者Fragment进行销毁和重构.作为开发者,这些行为我们是无法干预的. 所以Activity或Fragment中的一些数据也会随着销毁而丢失,随着重构而重新生成.比如你的Activity中有个用户列表,当这个Activity重构的时候,新的Activity会重新获取用户列表.对于一些简…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 目录Paging简介使用步骤PageKeyedDataSourceJava版案例PagingActivityPagingAdapterPagingViewModelUserUserDaoUserDb Paging 官方文档 官方案例 简介 Paging 是什么? Paging 可以使…
1.直接添加如下依赖就可以满足日常的工作,如果缺少哪个库,再去单独添加就好了 implementation "android.arch.lifecycle:extensions:1.1.1" 添加这一句代码就依赖了如下的库. 2.先不谈Activity和Fragment中如何使用,先举一个Lifecycle的简单例子. ackage com.example.lifecycledemo1; import android.arch.lifecycle.Lifecycle; import a…
Jetpack Compose学习(7)--MD样式架构组件Scaffold及导航底部菜单 | Stars-One的杂货小窝 Compose给我们提供了一个Material Design样式的首页组件(Scaffold),我们可以直接套用从而完成一个APP的首页界面 本系列以往文章请查看此分类链接Jetpack compose学习 由于Scaffold中还包含有其他的组件,所以讲解Scaffold先讲解前置的一些组件 TopAppBar 首先,便是TopAppBar,其本质就是我们Android…
Lifecycle Lifecycle组件包括LifecycleOwner.LifecleObserver,能方便监听Activity或者Fragment的生命周期. 步骤: 1.实现LifecycleObserver接口 实现DefaultLifecycleObserver接口,然后重写里面生命周期方法: 直接实现LifecycleObserver接口,然后通过注解的方式来接收生命周期的变化: 对于这两种形式,Lifecycle.java文档中是建议使用第一种方式,因为文档中说明了,随着Jav…
前言 Android 官方架构组件在今年 5 月份 Google I/O 大会上被公布, 直到 11 月份一直都是测试版, 由于工作比较繁忙, 期间我只是看过类似的文章, 但没有在实际项目中使用过, 更没有看过源码, 所以对这几个组件的使用很是生疏, 同时也觉得这几个组件非常高大上, 非常神秘! 直到 11 月份 Android 官方架构组件正式版发布, 并且 Google 也在 Support Library v26.1.0 以后的版本中内嵌了 Android 官方架构组件中的生命周期组件,…
概述 ViewModel,从字面上理解的话,它肯定是跟视图(View)以及数据(Model)相关的.正像它字面意思一样,它是负责准备和管理和UI组件(Fragment/Activity)相关的数据类,也就是说ViewModel是用来管理UI相关的数据的,同时ViewModel还可以用来负责UI组件间的通信. 之前存在的问题 ViewModel用来存储和管理UI相关的数据,可于将一个Activity或Fragment组件相关的数据逻辑抽象出来,并能适配组件的生命周期,如当屏幕旋转Activity重…
文章目录 tomcat文件目录 bin conf lib logs temp webapps work 页面 架构组件详解 tomcat运行方式 组件介绍 tomcat管理 tomcat文件目录 ➜ apache-tomcat-7.0.86 ls LICENSE RUNNING.txt lib webapps NOTICE bin logs work RELEASE-NOTES conf temp bin ➜ apache-tomcat-7.0.86 cd bin ➜ bin ls bootst…
本文基于SDK 29 一.ViewModel与LiveData的作用: 1.viewModel: 数据共享,屏幕旋转不丢失数据,并且在Activity与Fragment之间共享数据. 2.LiveData: 感知生命周期并且通知观察者刷新,防止内存泄漏. 二.用法 三.原理: 1.ViewModel: ViewModelProviders.of(this).get(MyViewModel::class.java) 我们通过这个方法来构造ViewModel. @NonNull @MainThrea…
前言 上篇文章我给大家分享了我对Android架构的理解,从思想层面去讲述架构的演进过程.很多小伙伴读完后拍手叫好,表示还想听我讲一下对Jetpack 架构的看法,本着帮人帮到底的精神,今天我将再次动笔 尽量从本质上讲清楚Jetpack 架构存在的意义,以及解决的问题. 知识储备:需要对Lifcycle.LiveData.ViewModel.DataBinding有基本了解 作者 Bezier 目录 1.1 为什么要做生命周期绑定? 1.2 Lifecycle解决了哪些问题? 2.1 观察者模式…
此指南适用于那些曾经或现在进行Android应用的基础开发,并希望了解和学习编写Android程序的最佳实践和架构.通过学习来构建强大的生产级别的应用. 注意:此指南默认你对Android开发有比较深的理解,熟知Android Framework.如果你还只是个Android开发新手,那么建议先学习下Android的基础知识. Android程序员面临的问题 传统的桌面应用程序开发在大多数情况下,启动器快捷方式都有一个入口点,并作为一个单一的过程运行,但Android应用程序的结构更为复杂.典型…
ViewModel ViewModel的引入 如果系统销毁或重新创建界面控制器,则存储在其中的任何临时性界面相关数据都会丢失.例如,应用的某个 Activity 中可能包含用户列表.因配置更改而重新创建 Activity 后,新 Activity 必须重新提取用户列表.对于简单的数据,Activity 可以使用 onSaveInstanceState() 方法从 onCreate() 中的捆绑包恢复其数据,但此方法仅适合可以序列化再反序列化的少量数据,而不适合数量可能较大的数据,如用户列表或位图…
嗨,大家好,面试真题系列又来了,今天我们说说MVVM架构里的两大组件:ViewModel和LiveData. 还是老样子,提出问题,做出解答. ViewModel 是什么? ViewModel 为什么被设计出来,解决了什么问题? 说说ViewModel原理. LiveData 是什么? LiveData 为什么被设计出来,解决了什么问题? 说说LiveData原理. ViewModel 是什么,说说你所理解的ViewModel? 如果看过我上一篇文章的小伙伴应该都有所了解,ViewModel是M…
Google 2017 I/O开发者大会于近日召开,在开发者大会上谷歌除了发布了Android O等一些新产品之外,也对Android代码的架构做出了一个官方的回应. Google 2017 I/O开发者大会Android架构组件介绍现场视频 下面是官方提供的Android App开发的架构图: 从上图可以看到一些关键字:ViewModel,LiveData,Room等.其实看了上面视频的会发现Google官方Android架构组件一共包括以下几个: LifeCycle : 与Activity和…
Android官方架构组件介绍之LifeCycle 下面是官方提供的Android App开发的架构图: 从上图可以看到一些关键字:ViewModel,LiveData,Room等.其实看了上面视频的会发现Google官方Android架构组件一共包括以下几个: LifeCycle : 与Activity和Fragment的生命周期有关 LiveData :异步可订阅数据,也是生命周期感知 ViewModel :视图数据持有模型,也是生命周期感知 Room :SQLite抽象层,用于简化SQLi…
原文作者: Jose Alcérreca 原文地址: ViewModels and LiveData: Patterns + AntiPatterns 译者:秉心说 View 和 ViewModel 分配责任 理想情况下,ViewModel 应该对 Android 世界一无所知.这提升了可测试性,内存泄漏安全性,并且便于模块化. 通常的做法是保证你的 ViewModel 中没有导入任何 android.*,android.arch.* (译者注:现在应该再加一个 androidx.lifecyc…
高并发高可.O2O.微服务架构用学习网站 https://www.itkc8.com 非常感谢http://www.cnblogs.com/skyblog/p/5044486.html 关于架构,笔者认为并不是越复杂越好,而是相反,简单就是硬道理也提现在这里.这也是微服务能够流行的原因,看看市场上曾经出现的服务架构:EJB.SCA.Dubbo等等,都比微服务先进,都比微服务功能完善,但它们都没有微服务这么深入民心,就是因为他们过于复杂.简单就是高科技,苹果手机据说专门有个团队研究如何能让用户更加…
Android精选源码 Android一个有趣的Android动画交互设计 android可伸缩日历效果源码 关于界面,全新的卡片风格,支持夜晚模式 Android 用 Kotlin 实现的基于物理的动画 Android-自定义应用选择器源码 使用 Kotlin 实现的一个 Dribbble 客户端 android画矩形,圆,箭头,铅笔,擦除功能 Android 展开型布局菜单效果 Kotlin 实现的 View to View 动画效果库 改造 Android 官方架构组件 ViewModel…
转自:https://www.jianshu.com/p/982545e01d0a 1.概述 在I / O '17的时候,其中一个重要的主题是Architecture Components.这是一个官方的新库.旨在帮助开发者设计"健壮,可测试和可维护"的应用程序.简而言之,这个库可以帮助开发者更好地处理生命周期事件和配置更改时的数据持久性,同时还能帮助开发者创建更好的体系结构应用程序,并避免难以维护和测试的膨胀类. 其官方文档在这里:Android Architecture Compo…
C# BackgroundWorker组件学习入门介绍 一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用BackgroundWorker来完成这一功能 一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用BackgroundWorker来完成这一功能. BackgroundWorker类允许您在单独的专用线程上运行操作. 耗时的操作(如下载和数据库事务)在长时间运行时可能会导致用户界面 (UI) 似乎…