Android Studio 是整合的開發環境又稱IDE,如果熟悉Android Studio 專案結構會對之後分析有幫助
這邊就不介紹怎麼建立專案之類,有興趣應該可以在網路上找到更好的教學
建好一個空的專案大概會長的像成這樣
Gradle Script
build.gradle 這的檔案會定義依賴,與專案或模組的build起來的設定,與ProGuard 是否啟用(對程式碼優化與混淆
proguard-reules.pro 可以在對ProGuard在做客製化設定
根據不同的技術使用 應用程式可以區分成不同3個基本類型
分別是 Native apps, Web apps, Hybridapps
Native APP 主要由Kotlin or java去寫 使用原生的功能 直接存取Android平台的features 和 systems API
透過建好專案 我會講一下 APP layout 是怎麼建立 他是怎麼與Java Code 和 Resource 互相配合使用
Layout 基本會放在 app/res/layout 下的activity_main.xml
activity_main.xml 基本上會有Text 或 button 的物件 這邊我們可以去觀察物件中的屬性
/res/values/string.xml
<TextView
android:id="@+id/message"
android:layout_width="380dp"
android:layout_height="31dp"
android:text="@string/message"
tools:context 定義使用這個layout的 Activity
android:id 該物件唯一標示符 方便在java code 中使用 其中@+id 表示新的Resource, @id 表示該資源已存在
android:text 可裡是設定物件字串 者裡可以是直接hard code 或是透過 res/values/string.xml 預先定義像用變數方式使用 例如 android:text="@string/message"
res/values/strings.xml
<resources>
<string name="app_name">My Application</string>
<string name="message">Hello World!</string>
</resources>
定義好res 這裡的東西時 我們可以透過 R class 來使用在/res 下 的有id 的 object 透過這些UID 就能夠使用
MainActivity.java
protected void onCreate(Bundle savedInstanceState){
...
setContentView(R.layout.activity_main)
message = (TextView)findViewById(R.id.message)
button = (Button)findViewById(R.id.button);
...
}
onCreate 這個function 會在 Activiy 起來時被呼叫 他是Activity lifeCycle 第一個階段(之後會再介紹
setContentView()會設定是哪個layout 要用在這個Activity 以及透過R classes 使用剛才被我們定義好的TextView Object