现在大多数人开发安卓都是用android studio集成工具,支持mac和windows,本人因为是开发ios的,所以下载mac的下的android studio工具,这里提醒一下大家,下载android studio工具很方便,速度也很快,此过程省略。
开发工具慢慢熟悉,今天我先熟悉一下android studio工程的目录结构,我创建了一个最简单的helloword工程,看一下默认的Android工程目录结构。
我们一层一层的往下看,先看:
一.manifests AndroidManifest.xml:
APP的配置文件,它采用xml作为描述语言,每个xml标签都有不同的含义,大部份的配置参数都放在标签的属性中。如:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http:///apk/res/android"
package="cn.yushi.helloworld">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
AndroidManifest.xml配置文件的根元素,必须包含一个<application>元素并且指定xlmns:android和package属性。package:是标准的应用包名,跟IOS里的bundleID一样,是唯一的。也是一个应用进程的默认名称,即“cn.yushi.helloworld”是一个标准的java 应用包名,我们为了避免命名空间的冲突,一般会以应用的域名来作为包名。application标签声明了每一个应用程序的组件以及属性(如:icon,label,theme等)
activety:属性
android:name 是activity的name。
intent-filter属性:action很简单,只有android:name这个属性。常见的android:name值为android.intent.action.MAIN,表明此activity是作为应用程序的入口。
category也只有android:name属性。常见的android:name值为android.intent.category.LAUNCHER(决定应用程序是否显示在程序列表里)category属性
二.Java:主要为源代码和测试代码
三.res:主要是资源目录,存储所有项目资源
存储一些xml文件,-*dpi表示存储分辨率的图片,用于适配不同的屏幕。
-mdpi:320x480
-hdpi:480x800、480x854
-xhdpi:至少960x720
-xxhdpi:1280x720
layout:存储布局文件
mipmap:存储图片资源
values:存储app引用的一些值
- colors.xml: 存储了一些color的样式
- dimens.xml:存储了一些公用的dp值
- strings.xml: 存储了引用的string值
- styles.xml: 存储了app需要用到的一些样式
Gradle Scripts:build.gradle为项目的gradle配置文件
Gradle Scripts:build.gradle为项目的gradle配置文件