Android開發新手學習總結(六)——android開發目錄結構【圖文版】

轉載連接: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

 

  1. package com.example.jared.hello;
  2. import android.support.v7.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. public class MainActivity extends AppCompatActivity {
  5.     @Override
  6.     protected void onCreate(Bundle savedInstanceState) {
  7.         super.onCreate(savedInstanceState);
  8.         setContentView(R.layout.activity_main);
  9.     }
  10. }
複製代碼

經過上面的介紹,應該不難理解這段代碼了。首先MainActivity繼承了AppCompatActivity,最後仍是繼承Activity。

  1. public class AppCompatActivity extends FragmentActivity
  2. public class FragmentActivity extends BaseFragmentActivityHoneycomb
  3. abstract class BaseFragmentActivityHoneycomb extends BaseFragmentActivityDonut
  4. abstract class BaseFragmentActivityDonut extends Activity {
複製代碼

而後再看下onCreate方法,這個是android的一個設計模式ioc,android的架構基本上就是用了這個模式。用戶看不到onCreate以前幹了什麼,只要完成這個函數,而且在裏面調用須要調用的東西便可。

super.onCreate方法是調用父類的onCreate方法,而後setContentView方法就是爲當前的activity引入了一個activity_main的佈局,這個佈局上述已經有了介紹。

    好了,關於Android Studio的項目工程簡單的介紹就在這裏了。

相關文章
相關標籤/搜索