切換項目結構模式java
Project模式的項目結構android
咱們將項目切換成Project模式,這就是真實的目錄結構。git
這個項目的目錄介紹完畢了,除了app目錄以外的,大多數的文件和目錄都是自動生成的,app目錄纔是咱們的重點。app
這樣整個項目的目錄結構就介紹完了。ide
接下來咱們一塊兒分析一下HelloWorld項目到底是怎麼運行起來的吧。首先打開AndroidManifest.xml文件,從中能夠看到以下代碼。佈局
<activity android:name=".HelloWorldActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
這段代碼標示對HelloWorldActivity這個活動進行註冊,沒有在AndroidManifest.xml裏註冊的活動是不能使用的。
其中intent-filter裏的兩行代碼很是重要,
<action android:name="android.intent.action.MAIN" />
和<category android:name="android.intent.category.LAUNCHER" />
標示HelloWorldActivity是這個項目的主活動,在手機上點擊應用圖標,首先啓動的就是這個活動。測試
咱們來看下HelloWorldActivity這個活動。代碼以下所示:
~~~
public class HelloWorldActivity extends AppCompatActivity {gradle
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.hello_world_activity); }
}
~~~
首先咱們能夠看到,HelloWorldActivity是繼承自AppCompatActivity的,這是一種向下兼容的Activity,能夠將Activity在各個系統版本中增長的特性和功能最低兼容到Android2.1系統。Activity是Android系統提供的一個活動的基類,咱們項目中全部的活動都必須繼承它或者他的子類才能擁有活動的特性(AppCompatActivity是Activity的子類)。而後能夠看到HelloWorldActivity中擁有一個onCreate()方法,這個方法是一個活動唄建立時一定要執行的方法。其中兩行代碼並無Hello World!字樣,那麼程序中顯示的Hello World!是在哪裏定義的呢?
其實Android程序的設計講究邏輯與視圖分離,所以是不推薦在活動中直接編寫界面的,更加通用的一種作法是,在佈局文件中編寫界面,而後在活動中引入進來。能夠看到,在onCreate()方法的第二行調用了setContentView()方法,就是這個方法給當前的活動引入了一個hello_world_layout佈局。
佈局文件都定義在res/layout目錄下的,打開hello_world_layout.xml文件並切換到Test視圖,代碼以下所示ui
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".HelloWorldActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout>
你看到就能夠了,後面咱們會對佈局進行詳細講解的。
這樣咱們就將HelloWorld項目的目錄結構以及基本的執行過程都分析完了。idea
本文由博客一文多發平臺 OpenWrite 發佈!