Android studio 2.0 初级教程(一)

时间:2021-03-14 09:24:30

Android studio终于到了2.0的时代,之前的版本一直想尝试去用,结果IDE各种水土不服。不想花精力去看。

最近发现好像情况好很多了。所以写一下学习笔记,顺便翻译一些google 开发者关于android studio的说明。


1.  安装

    具体就不说了,只能说,最好翻个墙,VPN什么的,安装期间下载一些东西下不了就切换到VPN。另外模拟器下个x86版的好像感觉快一点。

     

2.  创建工程,工程目录说明

2.1 首先创建一个project

 Android studio 2.0 初级教程(一)Android studio 2.0 初级教程(一)

2.2 左边生成的目录树是这样的:

Android studio 2.0 初级教程(一)Android studio 2.0 初级教程(一)

     可以看到上面应该是项目不同的显示方式。不过我觉得先看这两种吧,其他自己也在摸索。

     我觉得如果涉及到Gradle的变更,你切换为 Android视图比较清晰,不会乱。因为在Project视图下,gradle放置的地方在app和day02(项目里我自己建了两个模块),模块外也有。可能初学会很混乱。而在Android视图下,这些都归到一个目录下,就算名字相同,后面也带有说明,不会搞错。

Android studio 2.0 初级教程(一)Android studio 2.0 初级教程(一)


2.3  先看看Project视图下一些对我们有用的目录和文件,android视图后面再说。(标红色的是经常用的)

.gradle  包含的 gradler 包装文件。

.idea  IntelliJ IDEA 设置目录

build此目录用来存储所有项目模块的生成输出。

grade包含cradler-wrapper文件

gradle.properties 整个项目 Gradle 设置

local.property 文件里开头写了:这是android studio生成的,如果你更改了,可能会被擦除。

可自定义特定于计算机的属性生成系统,如安装 SDK 的路径。因为文件的内容是特定于本地安装的 SDK, local.properties不应在git中保持跟踪。

.gitignore         git设置忽略跟踪的文件(如果有的话)

settings.gradle 设置gradle 需要构建的子模块

build.gradle      所有模块共有的构建选项(在各个模块下的build.gradle 则是每一个模块自己个性的构建选项)

您可以编辑此文件,以便指定应用程序的模块所使用的默认生成设置,还可以设置keystore位置以及key alias,以便应用程序在发布模式下时可以直接构建,而不需要你手动再填写。此文件是项目的组成部分,必须保持它在源代码版本控制系统(比如git)。

app/day02 项目中的Module(模块),相当于Eclipse 中的project


2.4  看看模块里(app/day02)的目录结构


Android studio 2.0 初级教程(一)

Android studio 2.0 初级教程(一)

build  模块编译后输出的文件在这个目录下

build.gradle子模块自己的构建选项

libs    用到的jar包和so 和 .a库

src/main 工程的java 文件,资源文件,布局文件统统放这里

main/java   工程需要的java package放在这里

main/AndroidManifest.xml  呵呵

main/res    资源文件,和eclipse中的res差不多。有些区别,见2.4.1

main/jni  NDK中C和c++文件放这里

main/assets     原始的文件放置这里,比如www web项目

        其他文件,目录不说了。

2.4.1      在src/main/res下的目录结构

Android studio 2.0 初级教程(一)

Android studio 2.0 初级教程(一)

drawable 位图文件 (PNG、 JPEG 或 GIF),9.PNG 和 描述 Drawable 形状或 Drawable 对象包含多个状态 (正常、 压,或集中)的XML 文件

color用于描述颜色的 XML 文件

anim用于编译成动画对象的 XML 文件

layout屏幕布局xml文件

menu用于定义应用程序菜单的 XML 文件

mipmap为应用程序启动器图标(ic_launcher.png)选择最佳分辨率的图片放置在这里

注意,在androidmanifest.xml中需要这么申明启动器图标:

Android studio 2.0 初级教程(一)

values用于定义其他XML文件中需要用到的自定义元素类型

xml用于配置应用程序组件的杂项 XML 文件

  raw 对于任意的原始资源文件。保存在这里的资产文件本质上和保存在assets/目录是一样的。唯一的区别是您如何访问它们。这些文件由 aapt 处理,必须从R类使用资源标识符的应用程序引用。例如,这是媒体,如 MP3 或 Ogg 文件的好去处。 


2.5   如果想创建的模块被其他模块引用(作为库模块)

比如:1. 好多模块需要共用某个相同的程序或界面,可以将相同的部分放到库模块

    2. 一个程序有收费和免费的不同,但大部分主体程序是一样的。可以将主体程序放置在库模块



        2.5.1  直接创建库模块(选择 android library)

2.5.2  将原本不是库模块转为库模块,我也不知道有什么简便方法,所以请重新创建一个库模块,然后将普通模块的文件拷到这里



2.5.3 库模块的其他特性:

                 1. 不能单独运行,也不能导出为 jar 包(未来的SDK会支持)

 2.  一个程序可以引用多个库模块然后可以在每个库中指定资源的相对优先级。这允许您以累积的方式使用在应用程序中建立的资源。当从应用程序中引用的两个库定义的相同的资源 ID 时,这些工具从库中选择具有较高优先级的资源,并放弃其他。(所以如果资源ID冲突,不解决的话,某个优先级低的资源就没了)

              3.  库模块也可以引用别的库模块,以及导入 jar包



2.5.4 开发者网站说,出于可持续发展考虑,需要注意以下的问题:

1. 库模块有自己的R类,所以有可能资源ID会冲突,最好使用模块名前缀在避免冲突。

 2. 库模块不能导出为jar,本身可以包含本地 jar包(在libs文件夹下,需要手动指定路径)。

3. 库模块可以依赖外部jar包(例如maven上的)。在模块设置里可以添加,并且库模块和依赖的应用程序必须清单文件中的<uses-library>声明他们的外部库。

Android studio 2.0 初级教程(一)

3. 模块中不能包含原始的资源文件

             库模块中(保存在assets/目录) 的原始资源文件不会被引用。你开发的应用程序使用的任何原始资产资源必须存储在assets/目录的应用模块本身。其他资源文件保存在res/目录下的,比如xml(风格,颜色,形状)是可以被应用程序引用的。


4 .SDK版本必须低于或等于 Android 应用程序模块

库模块是作为从属应用模块的一部分进行编译,所以库模块中使用的 API 必须与用于编译应用模块的 Android 库的版本相兼容。一般情况下,库模块应该使用和引用库模块的应用程序相同的API 级别(低于它也是可以的)

比如:一个库模块使用API 1.6 ,那引用它的应用程序模块的API必须大于等于1.6



今天写到这结束。下一篇写一下真机调试的简单设置。