- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 Kotlin let、with、run、apply、also函数
简述相比Java, Kotlin提供了不少高级语法特性。对于一个Kotlin的初学者来说经常会写出一些不够优雅的代码。在Kotlin中的源码标准库(Standard.kt)中提供了一些Kotlin扩展的内置函数可以优化kotlin的编码。Standard.kt是Kotlin库的一部分,它定义了一些基本函数。 这个源代码文件虽然一共不到50行代码,但是这些函数功能都非常强大。函数定义 函数名 实现 let fun T.le.
2021-03-15 08:19:02 266
原创 Jetpack:Databinding组件
DataBinding介绍DataBinding是一个支持库,顾名思义:数据绑定,它可以将布局页面中的组件与应用中的数据绑定,它支持单向绑定与双向绑定,所谓单向绑定是指数据的变化会驱动页面的变化。而双向绑定除此之外还支持页面的变化驱动数据的变化,DataBinding只是一种工具,它解决的是View和数据之间的绑定。MVVM是一种架构模式,两者是有本质区别的。使用DataBinding如果想在应用中使用DataBinding,需要在应用的build.gradle文件中添加dataBindin
2021-03-10 00:38:57 250
原创 Jetpack:ViewModel组件
一、介绍ViewModel类是被设计用来以可感知生命周期的方式存储和管理 UI 相关数据,ViewModel中数据会一直存活即使 activity configuration发生变化,比如横竖屏切换的时候。ViewModel 可以解决那些痛点。1、数据持久化我们知道在屏幕旋转的 时候 会经历 activity 的销毁与重新创建,这里就涉及到数据保存的问题,显然重新请求或加载数据是不友好的。在 ViewModel 出现之前我们可以用 activity 的onSaveInstanceState(
2021-03-08 07:44:50 482
原创 Jetpack:Lifecycle组件
1. Lifecycle简介Lifecycle是Android Jetpack框架提供的能够感知组件(宿主)生命周期变化的组件,它能持有宿主(如Activity或Fragment)生命周期状态的信息,并且允许其他观察者注册监听宿主的生命周期状态变化,这就使得我们不用主动去获取宿主的状态,有利于降低代码耦合度并更容易维护。Lifecycle是JetPack组件库的核心基础,很多其他的Jetpack组件,比如LiveData、ViewMoedel等,都是基于它实现的。1.1 Lifecycle基本使用
2021-03-07 17:07:30 207
原创 Android Studio生成签名文件以及查看签名
Android Studio生成签名文件以及查看签名Android Studio生成签名文件如果已经有签名文件,Choose existing选择导入没有则 Create newWarning:JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore D:\WorkEnv\androidsign\sign.jks -destkeystore D:\WorkEnv\androidsign\sign.jks -destst
2021-03-07 12:44:11 5860
原创 Gradle命令详解
Gradle命令详解我们介绍了 Gradle 的任务声明,任务依赖,Gradle 构建的顺序等。其实在文章中我们也提到了一些 Gradle 命令。本文我们将为大家介绍一下 Gradle 的命令,包括会将前面的命令使用做一个汇总。1. 使用 Gradle 命令使用 Gradle 命令就是我们在命令控制台输入 Gradle 命令,使用 Gradle 命令我们可以配置 Gradle 环境,也可以不用配置 Gradle 环境,下面我们看下具体的使用方法1.1 已经安装了Gradle环境如果安装了
2021-03-04 23:07:18 3299 2
原创 编写 Gradle 任务Task
编写 Gradle 任务Task我们先介绍了 Gradle,然后学习了 Groovy 的基础语法,紧接着介绍了 Android 项目中 Gradle 的配置。我们从配置中可以看出 Gradle 的构建都是基于任务(Task)的,有了前面几节的基础,今天这节课我们来学习一下,怎么样去定义一个 Gradle 的任务(Task),以及Task的生命周期。1. 声明 Task关于 Task 的声明,我们其实在《构建自己的 Gradle 工程》这一节里面就有所介绍,我们创建 Gradle 项目时就声明..
2021-03-04 08:02:37 783 1
原创 Gradle Wrapper 详解
Gradle Wrapper 详解我们介绍了 Android 项目的目录及 Gradle 配置,我们提到有个目录是/gradle/wrapper。今天这篇文章我们来学习 Gradle Wrapper。通过这篇文章我们将了解什么是 Gradle Wrapper?为什么需要用 Gradle Wrapper?以及 Gradle Wrapper 的重要性。1. 什么是 Gradle Wrapper?关于“什么是 Gradle Wrapper?”这个问题在官网是这么定义的:The recommende
2021-03-03 23:49:21 6771 3
原创 Groovy 语言基础
Groovy 语言基础Gradle 是一个构建工具,它的构建脚本是基于 Groovy 或是 Kotlin 语言编写的。今天我们就来看下 Groovy 的基础语法。Groovy结合了 Java、Python、Ruby 等当下几大流行语言的优点。它可以说是从 Java 中衍生出来的,为什么这么说呢?因为它的语法和 Java 非常的相似,它的文件也是可以编译为 .class 文件,而且可以使用 Java 的类库。1. Groovy 基础语法1.1 基础语法1. 定义变量 def在 Gro.
2021-03-02 21:00:38 1561
原创 Gradle 配置详解
Gradle 配置详解我们为大家介绍一下 Android 项目中 Gradle 的配置。1. AndroidStudio 项目结构我们介绍 AndroidStudio 中 Android 项目的 Gradle 配置之前,我们先来看下 AndroidStudio 中 Android 项目的结构,我们新建一个项目结构大致如下图所示:我们通过上面的图片可以看到,Android 项目中跟 Gradle 相关的主要有 7 个部分:根目录下的 build.gradle:顶级构建文件,配置 Gr.
2021-03-02 00:22:16 5456 1
原创 构建自己的 Gradle 工程
构建自己的 Gradle 工程这篇文章我们将一步步带大家从环境搭建到创建一个 Gradle 工程。从 0 到 1,帮助大家更好的理解 Gradle。1. Gradle 的安装我们安装 Gradle 之前首先要确保我们已经在系统中安装了 JDK,并且 JDK 的版本最低在 1.7。注意最新的 Gradle 版本需要 JDK1.8 及以上。可以在控制台用java -version命令查看自己的 JDK 版本。如下:Gradle 的安装有 2 种方式:包安装:包安装方式就是通过包管理..
2021-03-01 23:51:54 350
原创 Kotlin lambda表达式
Kotlin lambda表达式这篇文章一起来聊下 Kotlin 中的 lambda 表达式。lambda 表达式大家应该都不陌生,这是在 Java8 中引入的一个很重要的特性。将开发者从原来繁琐的语法中解放出来,可是很遗憾的是只有Java8 及以上版本才能使用。而 Kotlin 则弥补了这一问题,Kotlin 中的 lambda 表达式与 Java 混合编程可以支持 Java8以下的版本。那我们带着以下几个问题一起来看下 Kotlin 中 lambda 表达式。1. 为什么要使用Kotlin的la
2021-03-01 23:17:54 574
原创 Gradle简介
Gradle 简介关于 Gradle 我们开发中用的非常多,它的知识点完全可以写一本书,这个专题我们重点针对 Gradle 在 Android 日常开发中的应用进行讲解。本文我们主要先介绍一下 Gradle 是什么?有哪些特性?优点在哪?为什么我们构建要用 Gradle?1. 什么是 Gradle?什么是 Gradle 呢?在 Gradle 官网中是这么介绍的:Gradle is an open-source build automation tool focused on flexibil
2021-03-01 07:45:50 1156
原创 Kotlin 对象表达式和伴生对象
Kotlin 对象表达式和伴生对象本篇文章将是 Kotlin 面向对象系列的最后一篇文章,这篇文章将会介绍几个特殊的对象语法,这是 Kotlin 语法中独有的。比如对象表达式 (object),天生的单例对象它会使写一个单例模式变得特别简单,而不是像 Java 那样声明一些语法模板。此外伴生对象 (companion object) 它将替代 Java 中的 static 静态成员。1. 为什么需要对象表达式1.1 对象表达式天生单例,会使得单例模式更简单相信很多小伙伴都手写过 Java 中
2021-03-01 00:15:05 264
Android 权限检查EasyPermissions
2017-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人