Android 开发环境配置及项目结构解析

本学期真正的接触了安卓项目开发,敲代码之余为大家送上一篇文章解析安卓的开发环境和项目配置解析。

1.Android介绍

Android是一种基于Linux的*及开放源代码的操作系统,主要使用于移动设备,如智能手机平板电脑,由Google公司和开放手机联盟领导及开发。

2.开发环境配置

安卓的开发环境配置相对IOS来说是简单了很多的,不像IOS需要注册一个开发者账号,还要交上300dollars,还需要一台Mac电脑,简直是穷人开发者的福音。安卓的开发环境有两种,一个是Eclipse,另一个是Android Studio,本人用的是Android Studio,所以下面就为大家介绍一下Android Studio的配置。

2.1安装Java环境

不管使用那种平台,都需要安装java环境,Java环境包括jdk和jre。从Oracle的官网上下载下jdk,然后安装即可,下载链接如下http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,8u161或者162的都可以,不需要手动安装jre,安装jdk时会自动安装jre。(现在已经升级到了171了)

Android 开发环境配置及项目结构解析

2.2下载IDE

首先从网站上下载IDE的包http://www.android-studio.org/。有两种选择,一种是安装文件,下载后需要安装,另一种是zip的压缩包,解压后可以直接使用。一般来说选择安装文件比较好。

Android 开发环境配置及项目结构解析

2.3安装IDE

打开安装文件进行安装,安装的过程很简单,选择路径,一路下一步即可。安装完后会自动打开,这边稍微有一点麻烦。一开始会弹出http proxy的错误此时选择忽略,然后会直接跳到新建项目的窗口,点击新建一个项目,由于此时还未配置sdk,所以需要先配置sdk的路径。最好不要将sdk放在C盘,因为sdk的文件还是比较大的。然后选择相应的sdk版本下载安装即可。安装完后即可开始进行开发啦。

2.4打开Android Studio,选择新建一个项目,输入项目名称,选择项目路径,点击下一步。

Android 开发环境配置及项目结构解析

在这一步选择app的平台,由于安卓的使用比较广泛们可以再很多平台上应用,因此studio也提供了多种平台的开发,包括手机,平板,可穿戴设备,电视以及其他的安卓设备。选择完设备后需要选择呢能够运行的最低安卓版本,选择4.0.3意味着你的app只能在安卓4.0.3级以上的系统中运行。选择玩完本后点击下一步。

Android 开发环境配置及项目结构解析

这一步选择手否要创建默认的活动,活动的概念会在后面讲到。一般来讲我会选择不添加活动,但是这无关紧要。然后点击finish。,完成项目的创建。

Android 开发环境配置及项目结构解析

3.Android studio界面介绍及项目组成

3.1界面构成

Android studio的界面构成和一般的windows应用类似,最上方是菜单栏,下面是工具栏,然后左侧是项目文件目录,右侧是编辑器,组成和visual studio差不多。菜单栏和工具栏的内容会在下面一一介绍。最左侧还有其他的一些视图,包括项目结构等,右侧是一些项目配置信息,会在下面一一介绍。

Android 开发环境配置及项目结构解析

3.2Android 项目的结构

点击左侧的project按钮,弹出项目目录视图,点击最上方的Android,可以更换目录的排列方式,默认是安卓的排列,一般来说我们会更换到project类型的目录结构,这样对应于项目的存储结构,更容易寻管理。

Android 开发环境配置及项目结构解析


Android 开发环境配置及项目结构解析

然后让我们来依次看一下每个文件夹都对应着什么。

3.2.1gradle

首先是gradle文件夹。看这个文件夹之前需要先了解一下什么是gradle,百度百科的解释是这样的:Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。好吧,说了一大堆其实我也不怎么懂,说到底就是安卓的编译工具,打开文件夹我们可以看到一共有两个子目录,4.1和buildoutputcleanup,上面一个目录表示当前的gradle工具是4.1版本的下面一个是清理输出的目录。既然是编译工具的目录,那我们就不用动他。

Android 开发环境配置及项目结构解析

3.2.2.idea

这个目录下的文件也都是一些项目的配置文件,一般来说我们都是不用修改的。

Android 开发环境配置及项目结构解析

3.2.3libs

libs用于存放项目的一些引用库,例如我们常用的百度地图的sdk就会放在这里,一般都是一些jar的包。

Android 开发环境配置及项目结构解析

3.2.4app

这个目录是我们项目的开发目录,所有的活动,类,引用库,布局文件都在这里面,我们一一来讲。第一个build目录下的文件不用管没事一些配置文件。下面src目录下是最主要的。

Android 开发环境配置及项目结构解析

Androidtest文件夹下是一个测试类,在项目中不会用到,可以删除。

Android 开发环境配置及项目结构解析

说了这么多,终于到了最最最主要的部分:main目录。第一个子目录java是存放java文件的,也就是项目的代码部分,下面一个res目录是存放项目的布局文件,第一个drawable存放项目中用到的一些图片资源,drawable-v24和drawable并无太大区别,但是drawable-v24只能在api24及以上中使用(注:api对应着app编译之后的版本,而不是一开始选择的最低版本)。下面的mipmap也是类似,用于存放图片。还有一个最主要的layout目录没出现,是因为我们还未创建活动。values用于存放一些数据值,例如颜色数据,字符串,样式数据,动画类型等。最后一个AndroidManifest.xml文件是存放关于app的属性,具体来说就是活动注册,app需要的权限申明,一些sdk的配置,app的名称,版本,图标等,适合app有关的。

Android 开发环境配置及项目结构解析

Android 开发环境配置及项目结构解析

下面介绍的是app下的build.gradle文件,这个文件是app的编译属性,compileSdkVersion是app的api版本,可以看到是26,Config是属性数据,第一个applicationId是项目的包名,第二个minsdkversion是最低的sdk版本,第三个是目标sdk版本,两者的区别在上面说过了。下面是app版本信息,可以看到是第一版,最后一个是测试文件的目录。

然后需要介绍的是depencies,这个下面是项目的依赖库,所有自己添加的库或者是默认的库都需要在这边添加才能进行引用。

Android 开发环境配置及项目结构解析

3.2.5build.gradle

最后一个要介绍的是项目根目录下的build文件,这个文件是用来配置项目编译的一些属性,例如对混淆文件的配置等等。

Android 开发环境配置及项目结构解析

3.3活动

活动是安卓中最重要的概念,活动就类似于桌面程序的窗口。一个活动有两部分组成:布局文件和java文件,我们首先来新建一个活动来具体讲解。

点击目录视图的任意位置,选择new->activity->empty activity新建一个空的活动,系统会自动将两个文件放到对应的目录下。此外,如果你希望在app一打开就进入这个界面,就勾选上launcher activity复选框。generate layoutfile就是会自动生成布局文件,活动的名称会同时作为Java文件的名称和布局文件的名称。

Android 开发环境配置及项目结构解析

此时来看一下androidmanifest.xml文件,出现了一个新的活动,而这个活动下面有两行配置语句,意思是这个活动是launcher activity,app一打开就会跳到这个活动。所以说,如果我们在创建活动时忘记了勾选launcher activity,可以自己在这边手动配置。

Android 开发环境配置及项目结构解析

然后我们看一下layout文件,安卓的layout文件是采用xml语言,这样比较容易读,也很方便写,我们打开来具体看一下。

左边是xml的代码,右边是预览视图,左边的任何修改都会及时的在右边的预览中及时展示出来,目前来看是什么都没有的,我们不着急,首先来看一下代码的组成,第一行是一个配置语句,不用管他,然后下面第一行

android.support.constraint.ConstraintLayout

这句话表明真个界面的UI布局类型,代码中写的是ConstrainLayout,也就是限制性布局,这种类型的布局是最近新出来的,一般我不会用,一般来说常用的是LinearLayout或者RelativeLayout。

在视图的上方我们可以选择预览的多个模式,可以选择不同的分辨率的机型,app的主题等。

Android 开发环境配置及项目结构解析

我们首先来添加一个最基本的TextView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World"/>

</LinearLayout>

与可以看到TextView是在布局类型的下一级里的,而且每一级都有两个相同的属性:layout_width和layout_height,也就是UI的宽和高,这两个属性是每个控件必须声明的,可以看到我写的一个是match_parent,一个是wrap_content,是什么意思呢/match_parent就是和父控件一样,wrap_content是根据内容来自动缩放大小,每种都有各自的优点和缺点。此外,可以自己输入固定值,单位可以有px,dip,sp等常用的单位,可以根据要求自己选择。

与此同时对应的预览视图

Android 开发环境配置及项目结构解析

然后来看一下java文件,

package com.example.aw.demo;

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);
    }
}
我们没有添加其他的代码,可以看到整个类是继承appcompatactivity类的,并且重写了onCreate这个函数,每个活动的java文件都必须重写这个函数,第二句setContentView(R.layout.activity_main);就是说这个活动的布局文件的id是R.layout.activity_main,意思就是布局文件是layout文件夹下的activity_main.xml。

4.app的编译和运行

安卓项目的编译和运行都需要有连接安卓设备,可以是真机或者是模拟器,模拟器可以自己进行下载配置,在菜单栏tools->android->avd manager进行下载配置。使用真机测试需要用数据线连接,在手机上开启开发者模式,并且允许usb调试。(手机不建议使用vivo手机,真的是巨坑啊,每次测试都需要输入密码才能安装apk,一天要输入800次密码)。待所有都配置好以后,点击才菜单栏->run app即可运行。

整个安卓项目的介绍就是这么多啦。本人也是新手,如果有哪里写的不对的话,欢迎大家批评指正。