紧接上一篇来介绍一下项目中的一些文件:
build.gradle在项目中共出现了两次,一次在项目目录下,还有一次是在app目录下。
项目目录下的build.gradle内容为:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
buildscript中主要描述了gradle脚本自身需要使用的资源,如 google(), jcenter()是Maven仓库,在国内访问比较慢,谷歌的回归可能会好一些。
dependencies :描述的是gradle插件的版本,用来Android studio3.0.1的版本Android Gradle Plugin版本也升到了3.0.1,而实际对应的Gradle版本为4.1,插件与Gradle对应表如下图所示:
allprojects:描述多项目构建时为所有的项目提供所需的依赖包和仓库。
task clean声明一个任务clean,任务类型为delete,当每次修改settings.gradle文件后会删除rootProject.buildDir下的文件。
settings.gradle:描述配置的子工程,如这边配置了app工程。
项目app下的build.gradle如下图所示:
compilrSdkVersion:描述编译SDK的版本
minSdkVersion:为SDK的最低版本,低于这个版本操作系统会拒绝安装
targetSdkVersion为目标版本,大多是目标版本为最新的版本
dependencies:主要是当前项目的依赖关系,包括本地依赖,库依赖,以及远程依赖。
新建项目时会有两个需要编辑文件:app/src/main/java下的java文件及app/src/main/res/layout下的.xml文件
.xml文件主要描述界面布局(关于布局暂时不怎么深讲,主要讲算法):
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.lenovo.myapplication.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
.java中描述了创建一个活动,执行活动,在界面上显示.xml中设计的界面布局
package com.example.lenovo.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}