|
Android操作系統(tǒng)
Android是一個(gè)基于Linux、使用Java作為程序接口的操作系統(tǒng)。他提供了一些工具,比如編譯器、調(diào)試器、還有他自己的仿真器(DVM — Dalvik Virtual Machine)。Android是由google領(lǐng)導(dǎo)的Open Handset Alliance開發(fā)的。
Android使用的虛擬機(jī)比較特別。Dalvik使用了一些特別的方法。你在Android上不能運(yùn)行普通的Java程序。Android提供了一個(gè)dx的工具,可以把普通的Java類文件轉(zhuǎn)換為dex(Dalvik Executable)文件。Android程序最后通過aapt(Android Asset Packaging Tool)程序來打包成一個(gè).apk文件。Eclipse下面的ADT可以自動將class轉(zhuǎn)換為dex,然后在發(fā)布的時(shí)候打包成apk文件。
Android支持2D和3D的openGL圖形庫,支持SQLite數(shù)據(jù)庫。
每一個(gè)Android程序都運(yùn)行在Android系統(tǒng)分配的一個(gè)獨(dú)立的空間內(nèi),所以每個(gè)程序都不會影響和破壞到其他的程序,這是很安全的。
一些重要的Android組件
一個(gè)Android程序由下面這些部分組成。
- Activity:代表了Android程序的展現(xiàn)層,比如用戶看到的界面。一個(gè)Android程序會有一些個(gè)Activities,在程序運(yùn)行過程中也會切換。
- Views:一個(gè)Activities的用戶界面是繼承自Android.view.View。views的布局通過Android.view.ViewGroups來管理。
- Services:不需要UI展現(xiàn)的后臺任務(wù)。可以通過Android的提醒框架給用戶提示。
- Content Provider:為程序提供數(shù)據(jù),通過Content Provider你的程序可以與別的程序共享數(shù)據(jù)。Android的SQLite數(shù)據(jù)庫可以看做一個(gè)Content Provider。
- Intents:是一個(gè)異步的消息系統(tǒng),可以從別的系統(tǒng)或服務(wù)獲取數(shù)據(jù)。程序可以直接調(diào)用一個(gè)服務(wù)或者activity,也可以請求Android系統(tǒng)。
- Broadcast Receiver:接受系統(tǒng)消息或者隱含的intent,可以根據(jù)系統(tǒng)的改變做出反應(yīng)。一個(gè)程序可以注冊成為某些事件的Broadcast Receiver,當(dāng)事件發(fā)生時(shí),程序就執(zhí)行。
安全和許可
Android對一些任務(wù)有特別的許可。例如一個(gè)程序需要使用InterNET,那么就需要在他的配置文件中獲取相應(yīng)的許可。在安裝過程中,用戶可以確認(rèn)這個(gè)程序是否取得相應(yīng)的許可。
AndroidManifest.xml
每一個(gè)Android程序都通過AndroidMainfest.xml來描述。這個(gè)文件中必須聲明所有的activity、services、broadcast receiver、以及Content provider。也需要包含程序需要的許可。例如,如果程序需要訪問網(wǎng)絡(luò),就必須聲明。“AndrManifest.xml”可以認(rèn)為是Android程序的部署聲明。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.rockux"
Android:versionCode="1"
Android:versionName="1.0">
<application Android:icon="@drawable/icon" Android:label="@string/app_name">
<activity Android:name=".Convert"
Android:label="@string/app_name">
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk Android:minSdkVersion="9" />
</manifest>
it知識庫:【Android開發(fā)教程】一、基礎(chǔ)概念,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。