Creating an Android Project

顾名思义,这一章教你如何创建一个 Android项目,当然前提是你最好使用Android Studio,以后简称AS,那些还在用ADT不知道什么心态,google早就不支持了。

Android Studio 创建项目


1.创建新项目

  • 如果在欢迎界面,点击New Project
  • 如果在项目界面,点击File -> New -> New Project
    都会弹出以下界面
    Creating an Android Project 01

2.填写相关项

  • Application Name:项目名字,这里选用AndroidTrainingDemo
  • Company Domain:公司域,AS会记忆这个字段
  • Package Name:项目的包名,这个字段是根据以上两项组合而成,遵循Java机制

    Your package name must be unique across all packages installed on the Android system.
    生成的包名在用户机器上必须是唯一的,这也是保证将来APP上传到市场上时,唯一迭代的其中一个依据。

  • Project Location:项目保存路径,看心情好了。
    然后点击Next
    Creating an Android Project 02

3.选择版本

这里有4个选项,Phone and Tablet,TV,Wear,Glass
我们选择第一个,也就是适配手机或者平板
这里选择的是支持的最低版本,也就是选择的版本之上都可以支持(高版本具有更多新特性,在支持更多的机型和使用更新的特性上需要一些数据来权衡),更多请查看API LEVEL,当然如果支持的版本过低,又想使用新特性,可以用代码控制

1
2
3
4
5
6
7
private void setUpActionBar() {
// Make sure we're running on Honeycomb or higher to use ActionBar APIs
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
}

详见 Supporting Different Platform Versions
界面上显示了Google Play上的数据是4.0以上版本的机器占90%,刚才查了一下友盟的数据,基本上选择4.0以上版本就可以了,2.3的时代终于过去了!

Creating an Android Project 03
点击next

4.添加一个Activity

Creating an Android Project 04
选择 Blank Activity 点击next
设置相关资源文件名,如图
Creating an Android Project 05
然后点击Finish,项目就建好了。

5.目录结构

Creating an Android Project 06

app/src/main/java/com.mycompany.myfirstapp/MyActivity.java

  • 我们创建的第一个Activity

app/src/main/res/layout/activity_my.xml

  • Activity对应的布局文件,也就是手机上的页面布局

app/src/main/AndroidManifest.xml

  • 可以暂时简单理解为项目的配置文件

app/build.gradle

  • AS是用Gradle打包编译的。每个module都有一个build.gradle文件,另外,整个项目也有一个build.gradle文件,我们最关心的还是module的build.gradle文件,因为里面放着相关依赖配置以及其他默认配置,module常见的分为两类,一个app module,一个library module,顾名思义,一个app的模块,一个库模块,在build.gradle顶部,通过apply plugin: 'com.android.application'apply plugin: 'com.android.library'区分,这个项目只有一个app模块。

Creating an Android Project 07
compiledSdkVersion
编译版本,默认使用最新的API LEVEL,以便你能使用更多新特性,更多的API版本可使用SDK Manager来下载和管理,SDK Manager可以在工具栏中找到
Creating an Android Project 08
applicationId
项目包名,也就是上面提到的唯一标示你APP的东西
minSdkVersion
在之前设置过的,项目支持的最低版本
targetSdkVersion
官方给出的说明是通过这个字段来测试是否兼容新版本,需要跟最新API LEVEL同步,暂时可以简单理解为你能使用的新特性的上限版本
顺便提一下,以前的android开发是修改manifest来更改配置的,自从引入gradle之后,一部分配置被迁移到了build.gradle,所以manifest的部分配置是gradle根据配置来生成

有些以下是资源文件,在/res目录下

drawable<density>/
存放图片资源文件的目录,比如bitmap,还可以根据不同的像素密度dpi分目录管理,这个以后再提,官方文档可能还没有更新

Here you’ll find the ic_launcher.png that appears when you run the default app.

其实现在ic_launcher,也就是app桌面图标最好是放在mimmap目录下,貌似可以更好的渲染图标
layout/
存放项目的布局文件,也就是用户交互界面
menu/
存放每个页面的菜单布局,android的menu感觉一直很蛋疼,从当初的实体menu键,上拉menu,到actionbar,到toolbar,变化很快,很多项目也是自己来定义页面顶部titlebar的,所以这个目录经常被无视掉
values/
存放项目的一些其他资源值,比如字符串(用于多语言),色值,样式之类的,这样对项目的迭代维护起到了至关重要的作用。

我们知道移动端项目不只是纯代码,还有纷繁复杂的资源文件,google很聪明的用上面这种目录结构来把相关的资源抽象到单独的目录,方便了编译系统(android项目的编译流程会在其他章节介绍),也大大提高了开发效率。

Command Line Tools 创建项目


1.首先进入sdk/tools目录下

1
$ cd ~/Library/Android/sdk/tools

2.然后列出android版本

1
$ ./android list

Available Android targets:

id: 1 or “android-15”
Name: Android 4.0.3
Type: Platform
API level: 15
Revision: 5
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800

Tag/ABIs : default/armeabi-v7a, default/mips, default/x86

id: 2 or “android-16”
Name: Android 4.1.2
Type: Platform
API level: 16
Revision: 5
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in

Tag/ABIs : no ABIs.

id: 3 or “android-17”
Name: Android 4.2.2
Type: Platform
API level: 17
Revision: 3
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
Tag/ABIs : no ABIs.
……

1
2
3
$ android create project --target <target-id> --name MyFirstApp \
--path <path-to-workspace>/MyFirstApp --activity MyActivity \
--package com.example.myfirstapp

替换target-id为上一步列表中的某个id,官方依然推荐最新版本,替换path-to-workspace为你的文件路径

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ ./android create project --target 8 --name MyFirstApp --path ~/Documents/Code/android/MyFirstApp --activity MyActivity --package com.example.myfirstapp
Created project directory: /Users/shawn/Documents/Code/android/MyFirstApp
Created directory /Users/shawn/Documents/Code/android/MyFirstApp/src/com/example/myfirstapp
Added file /Users/shawn/Documents/Code/android/MyFirstApp/src/com/example/myfirstapp/MyActivity.java
Created directory /Users/shawn/Documents/Code/android/MyFirstApp/res
Created directory /Users/shawn/Documents/Code/android/MyFirstApp/bin
Created directory /Users/shawn/Documents/Code/android/MyFirstApp/libs
Created directory /Users/shawn/Documents/Code/android/MyFirstApp/res/values
Added file /Users/shawn/Documents/Code/android/MyFirstApp/res/values/strings.xml
Created directory /Users/shawn/Documents/Code/android/MyFirstApp/res/layout
Added file /Users/shawn/Documents/Code/android/MyFirstApp/res/layout/main.xml
Created directory /Users/shawn/Documents/Code/android/MyFirstApp/res/drawable-xhdpi
Created directory /Users/shawn/Documents/Code/android/MyFirstApp/res/drawable-hdpi
Created directory /Users/shawn/Documents/Code/android/MyFirstApp/res/drawable-mdpi
Created directory /Users/shawn/Documents/Code/android/MyFirstApp/res/drawable-ldpi
Added file /Users/shawn/Documents/Code/android/MyFirstApp/AndroidManifest.xml
Added file /Users/shawn/Documents/Code/android/MyFirstApp/build.xml
Added file /Users/shawn/Documents/Code/android/MyFirstApp/proguard-project.txt

我试过了,这个command line有点坑爹,建好的项目只是过去的目录结构,并不是gradle的结构,也没有添加gradle打包相关配置,或许用eclipse可以打开运行,但是不推荐

Tip: Add the platform-tools/ as well as the tools/ directory to your PATH environment variable.
把这些命令添加到系统环境变量里会更方便哦~

经验尚欠,希望各位看官多加指正,或通过邮件联系我