顾名思义,这一章教你如何创建一个 Android项目,当然前提是你最好使用Android Studio,以后简称AS
,那些还在用ADT不知道什么心态,google早就不支持了。
Android Studio 创建项目
1.创建新项目
- 如果在欢迎界面,点击New Project
- 如果在项目界面,点击File -> New -> New Project
都会弹出以下界面
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
3.选择版本
这里有4个选项,Phone and Tablet,TV,Wear,Glass
我们选择第一个,也就是适配手机或者平板
这里选择的是支持的最低版本,也就是选择的版本之上都可以支持(高版本具有更多新特性,在支持更多的机型和使用更新的特性上需要一些数据来权衡),更多请查看API LEVEL,当然如果支持的版本过低,又想使用新特性,可以用代码控制1
2
3
4
5
6
7private 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的时代终于过去了!
点击next
4.添加一个Activity
选择 Blank Activity 点击next
设置相关资源文件名,如图
然后点击Finish,项目就建好了。
5.目录结构
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模块。
– compiledSdkVersion
编译版本,默认使用最新的API LEVEL,以便你能使用更多新特性,更多的API版本可使用SDK Manager来下载和管理,SDK Manager可以在工具栏中找到
– 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, WXGA800Tag/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-7inTag/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 | $ android create project --target <target-id> --name 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.
把这些命令添加到系统环境变量里会更方便哦~
经验尚欠,希望各位看官多加指正,或通过邮件联系我