1、Android的系統架構java
Linux內核層:主要爲Android設備提供底層驅動android
系統運行庫層:爲Android系統提供主要特性支持,另外還提供了一些核心庫可以容許開發者使用Java語言編寫Android應用數據庫
應用框架層:主要提供了構建應用程序可能用到的各類API架構
應用層:全部安裝在手機上的應用程序都屬於應用層app
2、Android應用開發的特點框架
四大組件:Activity(活動)、Service(服務)、Broadcast Receiver(廣播接收器)、Content Provider(內容提供器)ide
豐富的系統控件:如Button ListView 等佈局
SQLite數據庫:自帶的輕量級運算速度極快的嵌入式關係型數據庫測試
強大的多媒體:如音樂、視頻、錄音、拍照等gradle
地理位置定位:輕鬆實現LBS功能
3、分析第一個Android項目
app:項目代碼、資源等所有在該目錄下(主要目錄)
build:包含了編譯時自動生成的文件
libs:第三方jar包目錄
androidTest:編寫測試用例的,用於自動化測試
java:存放java源代碼的目錄(主要目錄)
res:項目資源目錄,如圖片、佈局、字符串等(主要目錄)
AndroidMainifest.xml:本項目的配置文件(常常用到)
Build.gradle:app模塊構建腳本(重要)
4、分析Helloword項目代碼
AndroidMainifest.xml
//對HelloWorldActivity這個活動進行註冊,沒有註冊的活動是不能使用的 <activity android:name=".HelloWorldActivity"> <intent-filter> //表示該活動是主活動,點擊應用啓動首先運行這個活動 <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
HelloWorldActivity.java
//全部活動必須繼承自AppCompatActivity這個活動基類 public class HelloWorldActivity extends AppCompatActivity { //onCreate方法是這個活動建立時必會執行的方法 @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); //引入該活動的佈局 setContentView(R.layout.hello_world_layout); } }
hello_world_layout.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/hello_world_activity" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.helloworld.HelloWorldActivity"> //這就是控件,看到的HelloWorld文字信息 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> </RelativeLayout>
5、其餘知識
在代碼中經過R.string.app_name格式來引用字符串
在XML中經過@string/app_name格式來引用字符串