Android Studio專案目錄結構簡介
既然已經搭建好環境了,那就對Android Studio
中專案目錄結構做個簡單的瞭解了,這裡以最簡單的Hello
工程為例子,新建好工程後看如下三個工程檢視:
1、Android工程
manifests:
AndroidManifest.xml:APP的配置資訊
java:主要為原始碼和測試程式碼
res:主要是資源目錄,儲存所有的專案資源
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配置檔案
2、Project
工程
build
:系統生成的檔案目錄,最後生成的apk
檔案就在這個目錄,這裡是app-debug.apk
libs
:為專案需要新增的*.jar
包或*.so
包等外接庫
src
:專案的原始碼,其中android test
為測試包,main
裡為主要的專案目錄和程式碼,test
為單元測試程式碼
3、Packages
工程
4、AndroidManifest.xml
AndroidManifest
描述了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查閱就好。
5、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等著你。
6、MainActivity.java
package com.example.jared.hello;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
通過上面的介紹,應該不難理解這段程式碼了。首先MainActivity
繼承了AppCompatActivity
,最後還是繼承Activity
。
public class AppCompatActivity extends FragmentActivity
public class FragmentActivity extends BaseFragmentActivityHoneycomb
abstract class BaseFragmentActivityHoneycomb extends BaseFragmentActivityDonut
abstract class BaseFragmentActivityDonut extends Activity {
然後再看下onCreate
方法,這個是android的一個設計模式ioc
,android的架構基本上就是用了這個模式。使用者看不到onCreate
之前幹了什麼,只要完成這個函式,並且在裡面呼叫需要呼叫的東西即可。
super.onCreate
方法是呼叫父類的onCreate
方法,然後setContentView
方法就是為當前的activity
引入了一個activity_main
的佈局,這個佈局上述已經有了介紹。
好了,關於Android Studio
的專案工程簡單的介紹就在這裡了。
相關文章
- vue專案目錄結構Vue
- C++ 專案目錄結構C++
- Angular專案目錄結構詳解Angular
- Android Studio目錄結構及工程專案結構解析Android
- ionic3 angular專案目錄結構解析Angular
- Mac使用tree命令生成檔案目錄結構,超簡單!Mac
- android studio模版功能簡介Android
- DedeCMS模板目錄的檔案目錄結構
- postgre目錄結構簡介
- 檔案的邏輯結構、檔案目錄
- DB2目錄結構簡介DB2
- linux檔案目錄結構彙總!Linux學習Linux
- 鴻蒙前端開發1-檔案目錄結構鴻蒙前端
- Linux學習之linux檔案目錄結構彙總Linux
- iOS沙盒檔案目錄介紹iOS
- 自動化檔案目錄結構生成工具——filemap.jsJS
- Angular4學習(初始檔案目錄結構解讀)Angular
- Go基礎學習記錄 – 編寫Web應用程式 – 重新調整專案目錄結構(一)GoWeb
- NodeJS專案基礎結構簡單介紹NodeJS
- Android 目錄結構分析Android
- Android 圖形架構簡介Android架構
- 【Android系統】Android系統架構簡介Android架構
- 資料結構簡介資料結構
- 【Android Studio】解決升級 macOS High Sierra 後 Android Studio 同步專案時 gradle 構AndroidMacGradle
- Android Studio踩坑記錄Android
- Android studio 問題記錄Android
- Android初級之路-Android系統架構簡介Android架構
- 資料結構中樹形結構簡介資料結構
- vue 原始碼學習(一) 目錄結構和構建過程簡介Vue原始碼
- ffmpeg資料結構簡介資料結構
- Redis資料結構簡介Redis資料結構
- Vue3專案的簡單搭建與專案結構的簡單介紹Vue
- 檔案目錄配置
- 檔案目錄(MOOC)
- Android Studio打包專案:APKAndroidAPK
- Linux具體目錄結構介紹!Linux
- Redhat:檔案目錄管理Redhat
- android Palette簡介Android