草庐IT

JetPack4

全部标签

Android JetPack组件之Room数据库的集成与详解

背景:一、Room数据库是google官方提供的数据库,属于ORM库。Room与其他ORM框架对比有以下优点:编译期检查,Room会在编译的时候验证每个@Query和@Entity等,它不仅检查语法问题,还会检查是否有该表,这就意味着几乎没有任何运行时错误的风险较少的模板代码与LiveData集成 二、集成:依赖库:implementation"android.arch.persistence.room:runtime:1.1.1"kapt"android.arch.persistence.room:compiler:1.1.1"room:compiler库有人用 annotationProc

Android使用Jetpack WindowManager来开发可折叠设备的探索

一、背景我们在Google开发者大会上,看到JetpackWindowManager和WindowSizeClass这些技术,如下图。那这里不得不说折叠屏手机了在其中一个显示区域中运行一个应用。同时运行两个应用,各位于一个显示区域中(在multi-window模式下)。可折叠设备还支持不同的折叠状态。折叠状态可用来以不同的方式显示内容折叠屏手机有哪些优势呢?更大的屏幕空间更高的灵活性更好的移动性更高的科技含量随着人们对生活品质的越来越高,单屏幕手机已经难以满足部分需求,折叠屏手机也越来越受欢迎,能给用户带来与众不同的体验,JetpackWindowManager和WindowSizeClass

MVVM下的Jetpack核心组件

前言Jetpack架构组件及“标准化开发模式”确立,意味着Android开发已步入成熟阶段,只有对MVVM确有深入理解,才能自然而然写出标准化、规范化代码。本次笔者会浅入浅出的介绍以下内容,由于它是一个我的学习总结记录,所以比较适合对MVVM不是很熟悉,但又想了解下全貌的读者:JetpackMVVMJetpackLifecycleJetpackLiveDataJetpackViewModelJetpackDataBindingJetpackMVVM在正文开始前,先回顾下MVP:MVP,Model-View-Presenter,职责分类如下:Model,数据模型层,用于获取和存储数据。View,

沉思篇-剖析Jetpack的ViewModel

ViewModel做为架构组件的三元老之一,是实现MVVM的有力武器。ViewModel的设计目标ViewModel的基本功能就是管理UI的数据。其实,从职责上来说,这又是对Activity和Fragment的一次功能拆分。以前存储在它们内部的数据,需要它们自己处理创建,更新,存储,恢复的所有过程,同时它们还要处理UI的数据绑定,更新,动画等操作。职责的多元化就容易出现不好定位和调试的问题。另外,Activity和Fragment作为UI的承载者,很多时候需要共享数据和复用功能。而UI的差异让复用的粒度划分很难把控,容易写出扩展性差的代码。基于这些痛点,ViewModel被设计出来了。同时Vi

Android Jetpack Compose 用计数器demo理解Compose UI 更新的关键-------状态管理(State)

目录概述1.什么是状态2.什么是单向数据流3.理解Stateless和Stateful4.使用Compose实现一个计数器4.1实现计数器4.2增加组件复用性-----状态上提总结概述我们都知道了Compose使用了声明式的开发范式,在这样的范式中,UI的职责更加的单一,只会对数据状态的变化作出反应,如果数据状态没有发生变化,则UI就永远不会自行的改变。假如我们把Composable的执行看成是一个函数的运算的话,那么状态就是函数的参数,输出就是生成的布局。由于唯一的参数决定唯一的输出,所以只有当函数的参数发生了变化,生成的布局才会相应的跟着变化。本文会通过一个计时器的小例子分别介绍如何能够更

Android Jetpack组件一览

官网简介Jetpack是一个由多个库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种Android版本和设备中一致运行的代码,让开发者精力集中编写重要的代码。Jetpack是Google为解决Android开发碎片化,打造成熟健康生态圈提出的战略规划,是Google对Android未来提出的发展方向,同时它也是众多优秀Android组件的集合。JetPack的构成图Jetpack主要特性:1.加速开发组件可单独使用,也可以协同工作,当使用kotlin语言特性时,可以提高效率。2.消除样板代码AndroidJetpack可管理繁琐的Activity(如后台任务、导航和生命周期管理

Jetpack Compose 学习汇总

关于JetpackCompose的学习本想只是简单的快速学习一下,结果万万没想到,竟然一下子折腾了好几个月。。。下面将之前记录的JetpackCompose相关的学习博文进行一个汇总链接整理,方便我以后自己查阅,也希望能帮到一些有正在学习Compose的道友。JetpackCompose中的基础组件JetpackCompose中的state核心思想JetpackCompose中的ModifierJetpackCompose中的动画JetpackCompose中的手势操作和事件处理JetpackCompose中的导航路由JetpackCompose中的AccompanistJetpackComp

JetPack<第一篇>:DataBinding

【1】导入依赖implementation'androidx.databinding:databinding-runtime:4.2.2'【2】在app模块下的build.gradle文件添加内容android{...dataBinding{enabledtrue}}或者android{...buildFeatures{dataBindingtrue}}另外,如果在android闭包下没有指定java1.8版本的话,需要添加:compileOptions{sourceCompatibilityJavaVersion.VERSION_1_8targetCompatibilityJavaVersi

Jetpack第一篇:走进Jetpack

1、什么是JetpackGoogle2018年推出的一系列组件的统称。其目的是为了统一安卓开发规范,提高安卓开发效率,提高应用的质量。jetpack总共分为四个部分Architecture:架构组件UI:UI组件Behavior:行为组件Foundation:基础组件Jetpack官方地址:https://developer.android.google.cn/jetpack/2、架构组件DataBinding(数据绑定):使用声明性格式将布局中的界面组件绑定到应用中的数据源。Lifecycles(生命周期感知):构建生命周期感知型组件,这些组件可以根据Activity或Fragment的当前

写给初学者的Jetpack Compose教程,为什么要学习Compose?

本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索郭霖即可关注,每个工作日都有文章更新。终于下定决心要写这个系列了。前段时间刚在公众号上分享了一篇关于JetpackCompose动画的文章,看到了评论区有这样一条留言。不管这个问题是疑问还是反问,其实类似的观点我也着实看过不少。因此,在正式开始写这个系列的文章之前,我觉得有必要先写一篇序章,我们真的就来纯粹地聊一聊,到底为什么要学习JetpackCompose?事实上,JetpackCompose对于我来说是必写的一个系列,只是时间早晚的问题。想一想,之前大家还经常会吐槽Google怎么又又又出新技术了,直呼跟不上了,学不动了之类