Android簡介

Android簡介

Android系統架構

  • Linux內核層
  • 系統運行庫層
  • 應用框架層
  • 應用層

Linux內核層

Andorid系統是基於Linux內核的,這一層爲Android設備的各種硬件提供了底層的驅動,如顯示驅動、照相機驅動、WI-FI驅動等。

系統運行庫層

該層通過一些C/C++庫來爲Android系統提供主要的特性支持。如SQLite庫提供了數據庫的支持,Webkit庫提供了瀏覽器內核的支持等。
這一層還有Android運行時庫,主要提供一些核心庫,能夠允許開發者使用java語言來編寫Android應用。另外,Android運行時庫中還包含了Dalvik虛擬機(5.0系統之後改爲ART運行環境),它使得每一個Android應用都能運行在獨立的進程中,並且擁有一個自己的虛擬機實例。

應用框架層

該層主要提供了構建應用程序時可能用到的各種API,Android自帶的一些核心應用就是使用這些API完成的。

應用層

所有安裝在手機上的應用程序都是屬於這一層的,比如遊戲,自帶程序,自己開發的程序等。

Android發佈的版本

版本號 系統代號 API
2.2 Froyo 8
2.3.3 - 2.3.7 Gingerbread 10
4.0.3 - 4.0.4 Ice Cream Sandwich 15
4.1.x, 4.2.x, 4.3 Jelly Bean 16, 17, 18
4.4 KitKat 19
5.0, 5.1 Lollipop 21, 22
6.0 Marshmallow 23
7.0 Nougat 24

Android應用開發特色

四大組件
活動,服務,廣播接收器和內容提供器。其中活動是所有Android應用程序的門面,凡是在應用中看到的東西,都是放在活動中。服務則是無法看到它,但它會一直在後臺默默地運行,即使用戶退出了應用,服務仍然是可以繼續運行的。廣播接收器允許應用接收來自各處的廣播消息,當然也可向外發出廣播信息。內容提供器則爲應用程序之間共享數據提供了可能。
豐富的系統控件
Android爲我們提供了豐富的系統控件,輕鬆寫出漂亮的界面,也可以定製屬於自己的控件。
SQLite數據庫
Android系統自帶了一種輕量級、運算速度極快的嵌入式關係型數據庫。支持標準SQL語法,也可以通過封裝好的API進行操作,使得存儲和讀取數據更加方便。
強大的多媒體和地理位置定位
音樂、視屏、錄音、拍照、鬧鈴等等,都可以用代碼進行控制;LBS領域

代碼塊

AndroidManifest.xml代碼:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".HelloWorldActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

HelloWorldActivity代碼:

package com.example.helloworld;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

public class HelloWorldActivity extends AppCompatActivity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_hello_world);
        Log.d("data", "onCreate execute");
    }
}

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/activity_hello_world"
    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">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
</RelativeLayout>

以上爲輸出Hello world的第一個Android的應用程序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章