摘要:
Room 是 Google 官方推出的一个数据库框架,作为 Jetpack 包的一部分,是我们必须要掌握的内容。下面让我们看看如何使用。 首先,我们先讲下开发中常用的一些数据库知识。 数据库常用知识 SQLite 支持的数据类型。一般的开发中,基本的数据类型完全够用,下面是 SQLite 支持的基本 阅读全文
摘要:
本篇文章是 Java 多线程开发的部分总结,会讲解线程、线程的同步与互斥、线程池。代码较多,请细细品味。 线程 什么是线程? 进程:每个进程都有独立的代码和数据空间,是资源分配的最小单位,一个进程包含1个或多个线程。 线程:线程是cpu调度的最小单位,同一个进程中的线程共享代码和数据空间,每个线程有 阅读全文
摘要:
概念 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 模版设计模式的本质便是固定算法框架。 上面的概念中有三个要点: 父类定义方法模版 子类实现方法的 阅读全文
摘要:
概念 相信每个 Java 语言攻城狮都或多或少听说过反射的概念。反射可以说是Java中最强大的技术了。JAVA反射机制是指在**运行状态(运行时)**中,动态获取信息以及动态调用对象方法的功能。 在 Java 中,通过类加载器和类路径可以唯一确定一个类。通过添加数据、指定实例名等方式,我们可以唯一确 阅读全文
摘要:
概念 枚举的作用是定义一个取值范围,在该取值范围内取值,取值方式有以下特点: 取值只能在枚举定义的范围内进行。 范围内的所有值,彼此之间不能重复,每个值都具有唯一性。 取值可以取范围内定义的任意一个值。 Java 中的枚举是在 1.5 中加入,使用关键字 enum 标记,全称是 enumeratio 阅读全文
摘要:
本博文以 "Android Gradle 1:基本介绍" 为基础,介绍如何配置构建变体。包括:版本类型(Build Type)、产品变种(Product Flavors)、版本变体(版本变体)、依赖项等内容。 配置版本类型(Build Type) 可以在模块级 build.gradle 文件的 an 阅读全文
摘要:
简介 注:这片文章是对官方教程的一篇整合,官方的网站太难访问了(原因众所周知)。 现在的 Android 应用都是采用 Android Studio 来开发的,AS 默认是采用 Gradle 作为构建工具的。通常开发者可以不需要理解任何 Gradle 的脚本配置,就可以开发出一个 APP。但是,当你 阅读全文
摘要:
介绍 注解可以理解成一个标签,是给类、方法、变量、属性等加标签。注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后 某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据),常见的作用有以下几种: 1. 提供信息给编译器: 编译器可以利用注解来探测错误和 阅读全文
摘要:
本篇博客是个备忘录,是我工作中遇到的生命周期方法调用的一些总结。 讲Activity的声明周期之前,先讲讲Actiivty的启动模式。其与Activity的声明周期和启动流程息息相关。 四大启动模式 1、Standard 模式 默认启动模式,每次启动一个activity都会重新创建一个新的实例,放入 阅读全文
摘要:
概念 如果事件被处理了,返回 true,否则返回 false。有些文章说事件被消费了,其实意思和被处理了一样。 本文会首先讲解正常的处理流程,包括 Down、Move、Up、Cancel 等事件。然后会讲解如长按事件、多指事件等事件的分发和处理。看到这里,你会想,文章是不是很长?没错,正如你所料想的 阅读全文