轉載連接:http://bbs.itcast.cn/thread-87059-1-1.html?rsshtml
既然已經搭建好環境了,那就對Android Studio中項目目錄結構作個簡單的瞭解了,這裏以最簡單的Hello工程爲例子,新建好工程後看以下三個工程視圖:java
一、Android工程android
manifests:設計模式
AndroidManifest.xml:APP的配置信息架構
java:主要爲源代碼和測試代碼app
res:主要是資源目錄,存儲全部的項目資源ide
drawable:存儲一些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配置文件
二、Project工程
build:系統生成的文件目錄,最後生成的apk文件就在這個目錄,這裏是app-debug.apk
libs:爲項目須要添加的*.jar包或*.so包等外接庫
src:項目的源代碼,其中android test爲測試包,main裏爲主要的項目目錄和代碼,test爲單元測試代碼
三、Packages工程
四、AndroidManifest.xml
AndroidManifext描述了package中暴露的組件像activity,serveice等,他們各自的實現類,各類能被處理的數據和啓動位置。此外還能聲明程序中的contentproviers,intentreceivers,還能指定permissions和instrumentation等等。
xmlns:android:定義android的命名空間。
package:指定本應用內java主程序的包名,這裏就是com.example.jared.hello了。
application:聲明瞭每個應用程序的組件及其屬性。
android:allowBackup:將程序加入到系統的備份和恢復架構中。
android:icon:顯而易見表示APP的圖標了。
android:label:許可列表。
android:supportsRtl:啓用各類RTLAPI來用RTL佈局顯示應用,這個是android4.2的新特性。 android:theme:android的主題。
activity:android:name表示當前的activity的名字,由於工程爲MainActivity,因此這個名字就爲這個,以後有新的activity的話,也須要添加纔可使用。
intent-filter:包含了action,data和category三種。
action:只有android:name屬性,常見的是android.intent.action.MAIN,表示此activity是做爲應用程序的入口。
data:指定了但願接受的intent請求的數據URI和數據類型。
category:android:name屬性,常見的是android.intent.category.LAUNCHER,決定應用程序是否顯示在程序列表裏。
關於本應用的manifest基本上沒啥問題了,之後遇到了別的google查閱就好。
五、layout的activity_main.xml
RelativeLayout:相對佈局。
xmlns:android定義:android命名空間。
xmlns:tools:tools命名空間,用來預覽一些佈局屬性的添加喝刪除後的效果。
android:layout_width:指定了控件的寬度,可選擇match_parent,fill_parent,wrap_content,其中match_parent和fill_parent的意思相同,官方更加推薦使用match_parent。match_parent表示讓當前控件的大小和父佈局的大小同樣,也就是由父佈局來決定當前控件的大小。wrap_content表示讓當前控件的大小可以恰好包含住裏面的內容,也就是由控件內容決定當前控件的大小。
android:layout_height:同上。
android:paddingLeft,android:paddingRight,android:paddingTop,android:paddingBottom:站在父view的角度描述問題,它規定它裏面的內容必須與這個父view邊界的距離。此外還有margin,它是站在本身的角度描述問題,規定本身喝其餘的view之間的距離,若是同一級只有一個view,那麼它的效果基本上就和padding同樣了。
TextView:android的控件。
android:text:textview顯示的內容,這裏就是hello world了。
至此,androd的layout簡單介紹了下,至於以後遇到的種種,google等着你。
六、MainActivity.java
經過上面的介紹,應該不難理解這段代碼了。首先MainActivity繼承了AppCompatActivity,最後仍是繼承Activity。
而後再看下onCreate方法,這個是android的一個設計模式ioc,android的架構基本上就是用了這個模式。用戶看不到onCreate以前幹了什麼,只要完成這個函數,而且在裏面調用須要調用的東西便可。
super.onCreate方法是調用父類的onCreate方法,而後setContentView方法就是爲當前的activity引入了一個activity_main的佈局,這個佈局上述已經有了介紹。
好了,關於Android Studio的項目工程簡單的介紹就在這裏了。