Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 中級開發 >> Android Project Structure

Android Project Structure

編輯:中級開發

一個android項目會包括Java源文件,資源文件如圖片,基於XML的布局文件等,第三方的jar包等。這些文件最終會被編譯成一個.apk 文件即Android應用程序可執行文件android package file, .apk文件可以安裝在模擬設備或者真機上。

看一下前一篇我們創建的Helloandroid項目的結構圖:

可以看到android項目主要包括:

src/: 存放Java源文件

gen/: 存放由android編譯工具生成的java源文件, 這些文件不能手動修改。如R.Java就定義了一些常量,這些常量是對資源文件的索引,以便我們很方便的引用這些資源文件。

assets/: 存放一些靜態文件並將會被一起打包成.apk文件

res/:存放資源文件

    res/drawable: 存放圖片如PNG,JPEG等

res/drawable-ldpi/my_icon.png        // 存放低分辨率的圖片
res/drawable-mdpi/my_icon.png    // 存放中等分辨率的圖片
res/drawable-hdpi/my_icon.png        // 存放高分辨率的圖片

    res/layout: 存放基於XML的布局文件

    res/menu: 存放基於XML的菜單文件

    res/values: 存放字符串等資源文件,如多語言的文件

bin/:存放編譯後的文件

   bin/yourpackagename/classes/:存放Java編譯後的.class文件

   bin/classes.dex: class文件被轉換成針對Dalvik虛擬機優化的dex文件, 在Introducing android中有提及。

   bin/resources.ap_: 被壓縮的資源文件類似zip文件。

   bin/yourapp.apk: android應用程序可執行文件,其實它也是個壓縮的文件,包含了.dex文件,各種資源文件等。

AndroidManifest.xml是一個當前應用程序的組件清單,它列出了應用程序包含的各種activitIEs,services,權限等, 下面看一下HelloAndroid項目中的androidManifest.XML文件:


01 <?XML version="1.0" encoding="utf-8"?> 02 <manifest XMLns:android="http://schemas.android.com/apk/res/android" 03       package="com.benjamin.helloandroid" 04       android:versionCode="1" 05       android:versionName="1.0"> 06     <application android:icon="@drawable/icon" android:label="@string/app_name">         <activity android:name=".Helloandroid" 08                   android:label="@string/app_name"> 09             <intent-filter> 10                 <action android:name="android.intent.action.MAIN" /> 11                 <category android:name="android.intent.category.LAUNCHER" /> 12             </intent-filter> 13         </activity> 14     </application> 15 </manifest>

可以看到根元素manifest的定義, 首先聲明了命名空間,指定了包名。android:versionCode是Android應用程序的版本號,一個整形的數字,在應用程序升級的時候會進 行比較是否決定要更新。android:versionName是你自己為你應用程序定義一個版本代號,不必一定是數字,如”Tiger 2000”, “System X”等。如果你的應用程序要發布在Android Market的話,都需要指定android:versionCode和android:versionName這兩項。

android:icon表示你的應用程序顯示的圖標,"@drawable/icon”表示讀取res/drawable下面icon這 個圖片,android:label表示應用程序的名稱,"@string/app_name”表示讀取res/values/strings.XML中 app_name的值。activity的兩個屬性android:name和android:label分別表示這個activity的類 名,activity的顯示名稱。intent-filter表示在什麼條件下這個activity會顯示。

androidManifest.XML還包含很多元素,更詳細的可以參考

官方的文檔
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved