Gradle 能很好地衡量你编写脚本的逻辑能力. 首先要做的是如何提取一个方法.例子 6.14. 使用方法组织脚本逻辑build.gradletask checksum << { fileList('../antLoadfileResources').each {File file -> ant.checksum(file: file, property: "cs_$file.name") println "$file.name Checksum: ${ant.properties["cs_$file.
正如同你已经在之前的示例里看到,有一个短标记 $ 可以访问一个存在的任务. 也就是说每个任务都可以作为构建脚本的属性:例子 6.11. 当成构建脚本的属性来访问一个任务build.gradletask hello << { println 'Hello world!'}hello.doLast { println "Greetings from the $hello.name task."}gradle -q hello 命令的输出> gradle -q helloHello world!
Groovy 不仅仅被用来定义一个任务可以做什么.举个例子,你可以使用它来动态的创建任务.例子 6.8. 动态的创建一个任务build.gradle4.times { counter -> task "task$counter" << { println "I'm task number $counter" }}这里动态的创建了 task0, task1, task2, task3gradle -q task1 命令的输出> gradle -q task1I'm task number 1
就像你所猜想的那样,你可以声明任务之间的依赖关系.例子 6.6. 申明任务之间的依赖关系build.gradletask hello << { println 'Hello world!'}task intro(dependsOn: hello) << { println "I'm Gradle"}gradle -q intro 命令的输出> gradle -q introHello world!
你可以通过 gradle 命令运行一个 Gradle 构建.gradle 命令会在当前目录中查找一个叫 build.gradle 的文件.我们称这个 build.gradle 文件为一个构建脚本 (build script), 但是严格来说它是一个构建配置脚本 (build configuration script). 这个脚本定义了一个 project 和它的 tasks.让我们来先看一个例子,创建一个名为build.gradle的构建脚本.例子 6.
Gradle 里的任何东西都是基于这两个基础概念:projects ( 项目 )tasks ( 任务 )每一个构建都是由一个或多个 projects 构成的.一个 project 到底代表什么依赖于你想用 Gradle 做什么. 举个例子,一个 project 可以代表一个 JAR 或者一个网页应用. 它也可能代表一个发布的 ZIP 压缩包,这个 ZIP 可能是由许多其他项目的 JARs 构成的.
当使用 Gradle 时, 你肯定会碰到许多问题.解决遇到的问题如果你碰到了问题, 首先要确定你使用的是最新版本的 Gradle. 我们会经常发布新版本, 解决一些 bug 并加入新的功能. 所以你遇到的问题可能就在新版本里解决了.如果你正在使用 Gradle Daemon, 先暂时关闭 daemon (你可以使用 switch --no-daemon 命令). 在第19章我们可以了解到更多关于 daemon 的信息.
JVM 选项可以通过设置环境变量来更改. 您可以使用 GRADLE_OPTS 或者 JAVA_OPTS.JAVA_OPTS 是一个用于 JAVA 应用的环境变量. 一个典型的用例是在 JAVA_OPTS 里设置HTTP代理服务器(proxy),GRADLE_OPTS 是内存选项. 这些变量可以在 gradle 的一开始就设置或者通过 gradlew 脚本来设置.
你可以从 Gradle网站 下载任意一个已经发布的版本解压缩Gradle 发布的版本为 ****ZIP 格式. 所有文件包含:Gradle 的二进制文件.用户指南 (HTML 和 PDF).DSL参考指南.API文档 (Javadoc和 Groovydoc).扩展的例子,包括用户指南中引用的实例,以及一些更复杂的实例来帮助用户构建自己的build.二进制源码.此代码仅供参考.
Gradle 需要运行在一个 Java 环境里安装一个 Java JDK 或者 JRE. 而且 Java 版本必须至少是 6 以上.Gradle 自带 Groovy 库, 所以没必要安装 Groovy. 任何已经安装的 Groovy 会被 Gradle 忽略.Gradle 使用任何已经存在在你的路径中的 JDK (可以通过 java -version 检查, 如果有就说明系统已经安装了 Java 环境).
先决条件下载解压缩环境变量运行并测试您的安装JVM选项
接下来的教程讲先介绍Gradle的基础知识Chapter 4, 安装 Gradle描述如何安装 Gradle.Chapter 5, 脚本构建基础介绍脚本构建的基础元素: projects 和 tasks.Chapter 6, Java 快速入门展示如何使用 Gradle 来构建 Java 项目.Chapter 7, 依赖管理基础展示如何使用 Gradle 的依赖管理功能.Chapter 8, Groovy 快速入门展示如何使用 Gradle 来构建 Groovy 项目.
我们认为在脚本构建时,一个内部的 DSL(基于一个动态语言)相对于 XML 的优势是巨大的. 有这么多的动态语言,为什么选择 Groovy?答案在于 Gradle 的运行环境.虽然 Gradle 以一个通用构建工具为核心, 但是它的重点是Java项目.在这样的项目中,显然团队每个成员都对 Java 非常熟悉. 我们认为构建应尽可能对所有团队成员都是透明的, 所以选择了 Groovy.
这里简述下 Gradle 的特点.1. 声明式构建和合约构建Gradle 的核心是基于 Groovy 的领域特定语言 (DSL), 具有十分优秀的扩展性. Gradle 通过提供可以随意集成的声明式语言元素将声明性构建推到了一个新的高度. 这些元素也为 Java, Groovy, OSGi, Web 和Scala 等项目提供基于合约构建的支持. 而且, 这种声明式语言是可扩展的.
什么是 Java?面向对象 平台独立 简单 安全 中立 可移植的 强健 多线程 可翻译的 高效 分布式的 动态的Java 基本语法对象 - 对象有状态和行为。例子:一条狗有状态:颜色,名字,品种以及行为-摇尾巴,吠,吃。一个对象是一个类的实例。 类 - 一个类能被定义成对象的模版/蓝图,用于描述对象类型的行为/状态。
在从零开始学习 Android 开发系列教程当中,我们已经了解了为 Android 平台创建应用程序过程中需要涉及的各种基本概念及知识要点。一路走来,我们探讨了关于 Android 开发的各方面内容,其中包括 Java 开发、XML 使用、用户界面设计、项目结构、数据存储以及发布流程等。
到目前为止,我们已经介绍过的知识足以帮助大家从非常理想的起点开始进行 Android 应用程序开发,但 Android 所提供的发挥空间还远不止这些、因此开发中的可能性也几乎没有穷尽。因此,我们需要为自己的下一步学习选择明确的方向。在今天的文章中,我们将把全部注意力集中在可资选择的未来学习对象上。
在今天的文章中,我们将重点探讨通过 Google Play 软件商店进行应用程序发布,不过如果愿意、大家也可以深度其它一些发布途径。要通过 Google Play 商店进行应用程序发布,我们需要注意一些必要条件;不过如果通过其它途径发布则有可能无需考虑这些前提。
Android SDK 示例项目中的应用能够执行种种功能,例如各类用户界面元素、数据管理、交互、媒体及连接使用说明等。即使大家不打算在自己的开发过程中用到示例所包含的某些特定应用类型,其中的大部分功能仍然适用于其它不同类型的应用。介绍Android SDK 示例项目中的应用能够执行种种功能,例如各类用户界面元素、数据管理、交互、媒体及连接使用说明等。
Activity 生命周期并不仅仅在用户运行应用程序之后才开始生效,事实上它也影响着用户切出以及切回应用时得到的不同反馈。当我们开发一款应用时,首先需要牢记一点:用户会经常在执行过程中、在我们的应用与其它应用之间频繁切换。介绍Activity 生命周期并不仅仅在用户运行应用程序之后才开始生效,事实上它也影响着用户切出以及切回应用时得到的不同反馈。
关注时代Java