应该还有不少人纠结到底用Studio还是eclipse+ADT,因为没有用过eclipse+ADT,没有太多话语权,但是Studio毕竟是google的亲儿子,还是建议用Studio。
第一次看到新建工程后的目录结构,相信不少初学者跟我一样,存在迷惑,怎么这么复杂,分别又都代表些什么?疑问来了,学习动力也就来了,百度+google之......
Android view:
通常,新建的Studio项目默认是android view结构,如下图:
它主要包含三部分:
mainfests: 包含AndroidManifest.xml
文件,第一次接触这玩意。
java: java源文件以及测试源文件都在这里
res: 包含所有非代码资源,如XML布局,UI字符串,和位图图像,分为相应子目录。有关所有可能的资源类型的详细信息,请参阅Providing Resources。
简单理下各部分目录
mainfests:官网大意是这么解释的:AndroidManifest.xml 是每个android程序中必须的文件,位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)等等。具体的介绍见:AndroidManifest.xml介绍、AndroidManifest详解之Application(有图更好懂),我也没有全部看懂,先收藏起来吧。
另外一台湾人对AndroidMainifest.xml文件有一个初步分析,这里拷贝过来使用【这部分来源于:Android Studio 專案目錄、架構與結構】:
<!-- 宣告這是一份 XML 文件 -->
<?xml version="1.0" encoding="utf-8"?>
<!-- 最外層一定是 <manifest> 標籤 -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<!-- package 應用程式的完整套件名稱(此名稱也會成為該應用程式的 Application ID)-->
package="com.example.jacky.myapplication">
<!-- 應用程式相關設定 -->
<application
android:allowBackup="true"
<!-- 在裝置上的啟動圖示(就是 APP 的 icon),如下參照到 res/mipmap 目錄內的圖像(就是小綠人頭)-->
android:icon="@mipmap/ic_launcher"
<!-- 在裝置上的代表名稱,如下參照到 values/strings.xml 檔案內的 app_name 字串 -->
android:label="@string/app_name"
android:supportsRtl="true"
<!-- 指定的佈照主題,如下參照到 values/style.xml -->
android:theme="@style/AppTheme">
<activity
<!-- Activity 名稱,省略套件名稱代表,則套用 <manifest> 標籤的 package 套件名稱 -->
android:name=".MainActivity"
<!-- Activity 標題名稱,會在畫面的 ActionBar 上顯示 -->
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<!-- 設定此 Activity 頁面為首頁 -->
<action android:name="android.intent.action.MAIN" />
<!-- 應用程式安裝完畢後會自動啟動(未加入該設定,不會自動啟動,必須手動點擊 APP icon 圖示啟動)-->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Java:相信大家都明白是啥玩意
res:下面是res目录下简单的层次结构
res/
drawable/
graphic.png
layout/
main.xml
info.xml
mipmap/
icon.png
values/
strings.xml
基本是由drawable、layout、mipmap、valuse组成。
drawable: 位图文件(.png,.JPG,.GIF)等。
layout: 定义的用户接口布局的XML文件。
mipmap: 针对不同的启动器图标密度可绘制文件。
values: UI需要用到的文字、颜色的各种xml文件。
Progject View:
当你选择Project view时,你看到目录将是很完整的,如下图:
目录层次结构介绍如下:【转自:Android Studio入门到精通 】
build://构建目录,相当于Eclipse中默认Java工程的bin目录,鼠标放在上面右键Show in Exploer即可打开文件夹,编译生成的apk也在这个目录的outs子目录,不过在AS的工程里是默认不显示out目录的,就算有编译结果也不显示,右键打开通过文件夹直接可以看。
libs://依赖包,包含jar包和jni等包。
src://源码,相当于eclipse的工程。
main://主文件夹
java://Java代码,包含工程和新建是默认产生的Test工程源码。
res://资源文件,类似Eclipse。
layout://App布局及界面元素配置,雷同Eclipse。
menu://App菜单配置,雷同Eclipse。
values://雷同Eclipse。
dimens.xml://定义css的配置文件。
strings.xml://定义字符串的配置文件。
styles.xml://定义style的配置文件。
......://arrays等其他文件。
......://assets等目录
AndroidManifest.xml://App基本信息(Android管理文件)
ic_launcher-web.png://App图标
build.gradle://Module的Gradle构建脚本
关于Gradle,这里只了解下它是个什么东西,具体后续再研究吧:
参考:
http://blog.youkuaiyun.com/yanbober/article/details/45306483
http://www.smalljacky.com/programming-language/android/android-studio-project-directory-structure/
https://www.zybuluo.com/stepbystep/note/63311#android-studio的工程结构
http://www.jianshu.com/p/3097ec18303c
http://blog.youkuaiyun.com/yanbober/article/details/45306483
https://developer.android.com/studio/projects/index.html