㈠ android 的許可權管理是怎麼實現的
Android 作為一個移動設備的平台,其軟體層次結構包括了一個操作系統(OS),中間件(MiddleWare)和應用程序(Application)。根據 Android 的軟體框圖,其軟體層次結構自下而上分為以下幾個層次:
操作系統層(OS)
各種庫(Libraries)和 Android 運行環境(RunTime)
應用程序框架(Application Framework)
應用程序(Application)
以下分別介紹 Andoid 各個層次的軟體的重點及其相關技術:
(1)操作系統層(OS)
Android 使用 linux2.6 作為操作系統,Linux2.6 是一種標準的技術,Linux 也是一個開放的操作系統。Android 對操作系統的使用包括核心和驅動程序兩部分,Android 的 Linux 核心為標準的 Linux2.6 內核,Android 更多的是需要一些與移動設備相關的驅動程序。主要的驅動如下所示:
顯示驅動(Display Driver):常用基於 Linux 的幀緩沖(Frame Buffer)驅動
Flash 內存驅動(Flash Memory Driver)
照相機驅動(Camera Driver):常用基於 Linux 的 v4l(Video for )驅動。
音頻驅動(Audio Driver):常用基於 ALSA(Advanced Linux Sound Architecture,高級 Linux 聲音體系)驅動
WiFi 驅動(Camera Driver):基於 IEEE 802.11 標準的驅動程序
鍵盤驅動(KeyBoard Driver)
藍牙驅動(Bluetooth Driver)
Binder IPC 驅動:Andoid 一個特殊的驅動程序,具有單獨的設備節點,提供進程間通訊的功能。
Power Management(能源管理)
(2)各種庫(Libraries)和 Android 運行環境(RunTime)
本層次對應一般嵌入式系統,相當於中間件層次。Android 的本層次分成兩個部分一個是各種庫,另一個是 Android 運行環境。本層的內容大多是使用 C++ 實現的。 在其中,各種庫包括:
C 庫:C 語言的標准庫,這也是系統中一個最為底層的庫,C 庫是通過 Linux 的系統調用來實現。
多媒體框架(MediaFrameword):這部分內容是 Android 多媒體的核心部分,基於 PacketVideo(即 PV)的 OpenCORE,從功能上本庫一共分為兩大部分,一個部分是音頻、視頻的回放(PlayBack),另一部分是則是音視頻的紀錄(Recorder)。
SGL:2D 圖像引擎。
SSL:即 Secure Socket Layer 位於 TCP/IP 協議與各種應用層協議之間 , 為數據通訊提供安全支持。
OpenGL ES 1.0 :本部分提供了對 3D 的支持。
界面管理工具(Surface Management):本部分提供了對管理顯示子系統等功能。
SQLite:一個通用的嵌入式資料庫
WebKit:網路瀏覽器的核心
FreeType:點陣圖和矢量字體的功能。
Android 的各種庫一般是以系統中間件的形式提供的,它們均有的一個顯著特點就是與移動設備的平台的應用密切相關。 Android 運行環境主要指的虛擬機技術—— Dalvik。Dalvik 虛擬機和一般 java 虛擬機(Java VM)不同,它執行的不是 JAVA 標準的位元組碼(bytecode )而是 Dalvik 可執行格式(.dex)中執行文件。在執行的過程中,每一個應用程序即一個進程(Linux 的一個 Process)。 二者最大的區別在於 Java VM 是以基於棧的虛擬機(Stack-based),而 Dalvik 是基於寄存器的虛擬機(Register-based)。顯然,後者最大的好處在於可以根據硬體實現更大的優化,這更適合移動設備的特點。
(3)應用程序框架(Application Framework)
Android 的應用程序框架為應用程序層的開發者提供 APIs,它實際上是一個應用程序的框架。由於上層的應用程序是以 JAVA 構建的,因此本層次提供的首先包含了 UI 程序中所需要的各種控制項: 例如: Views ( 視圖組件 ) 包括 lists( 列表 ), grids( 柵格 ), text boxes( 文本框 ), buttons( 按鈕 ) 等,甚至一個嵌入式的 Web 瀏覽器。一個 Android 的應用程序可以利用應用程序框架中的以下幾個部分: Activity (活動)、Broadcast Intent Receiver (廣播意圖接收者)、Service (服務)、Content Provider (內容提供者)。
(4)應用程序(Application)
Android 的應用程序主要是用戶界面(User Interface),通常以 JAVA 程序編寫,其中還可以包含各種資源文件(放置在 res 目錄中)。JAVA 程序及相關資源經過編譯後,將生成一個 APK 包。Android 本身提供了主屏幕(Home),聯系人(Contact),電話(Phone),瀏覽器(Browsers)等眾多的核心應用。同時應用程序的開發者還可以使用應用程序框架層的 API 實現自己的程序。
㈡ 安卓開發的小軟體可以運行matlab可執行文件嗎
生成獨立可執行的程序(exe文件)步驟
1、安裝編譯器。可有多種選擇,matlab自帶了一個LCC,推薦使用VC++6.0,我基於VS 2003實現。
2、設置編譯器。在matlab命令行輸入mbuild –setup以及mex –setup,選擇安裝的c編譯器。
3、調用編譯器。此處使用MATLAB下的一個GUI平台deploytool下完全實現。在命令窗口輸入deploytool即可看到。具體使用方法請Help。
當然,也可以輸入mcc -m filaname, filaname為要轉成exe的m文件;
註:在以前的版本中,用編譯命令mcc -B sglcpp filaname;自2006的版本後,替換為mcc -mfilaname;
4、安裝<matlab path>\toolbox\compiler\deploy\win32目錄下的MCRInstaller。
二、脫離matlab運行可執行程序
MCR是由matlab的運行環境,佔用不到300M的對於用不同matlab版本生成的exe文件,MCR版本也會有不同,因此,在程序打包時,最好將相應版本的MCR一起打包。MCR環境的設置文件存放目錄如下:
<matlab path> \toolbox\compiler\deploy\win32
文件名為MCRInstaller.exe。可將其拷貝到自己的文件夾中,(7.0以前的版本是mglinstaller.exe)。
在MATLAB里運行可執行程序的辦法是在前面加一個!,比如:!picshow,後綴名可有可無。
在其它沒有安裝matlab的機器上運行exe文件前:
首先安裝matlab的運行環境。在同一機器上可以並存不同版本的matlab環境(換句話說不同版本不兼容)。
其次是要將「MCRinstaller.exe安裝目錄\runtime\win32」這個路徑添加到該計算機的環境變數中,通常是自動載入。
如果沒有,也可手動安裝,添加的方法是:
右擊「我的電腦」「屬性」「高級」「環境變數」「添加」指定一個變數名,然後將上述路徑復制到裡面就可以了。
註:在安裝過程中會彈出讓安裝Microsoft.NETFramework可以不用安裝。
最後就是將編譯生成的相相關文件拷貝到同一目錄下,雙擊即可運行。
問題:目前此方法可完全運行在沒有安裝MATLAB以及C/C++的電腦上,但是如果是在AMD的CPU可以運行,但是不會出現任何MATLAB編譯的界面。
美中不足就是,運行的時候dos的那個黑色地窗口一直存在。
要是還不能解決?
你來我們群里說吧
這里是開發者互相學習交流的
有大神
讓他們給你解釋你的疑問 q un號 lool at my name
㈢ android 應用設計一個SDK層是幹嘛用的親們平時接觸到的Android應用代碼是怎麼分層的
sdk應用多,開發和對接都需要SDK數據包。
㈣ android 五大應用開發框架是什麼
android應用開發框架是 Application Framework,其系統架構由5部分組成,分別是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。
1、Linux Kernel (Linux內核)
Android基於Linux 2.6提供核心系統服務,例如:安全、內存管理、進程管理、網路 堆棧、驅動模型。Linux Kernel也作為硬體和軟體之間的抽象層,它隱藏具體硬體細節而為上層提供統一的服務。
2、Android Runtime (運行庫)
Android包含一個核心庫的集合,提供大部分在Java編程語言核心類庫中可用的功能。每一個Android應用程序是Dalvik虛擬機中的實例,運行在他們自己的進程中。
Dalvik虛擬機設計成,在一個設備可以高效地運行多個虛擬機。Dalvik虛擬機可執行文件格式是.dex,dex格式是專為Dalvik設計的一種壓縮格式,適合內存和處理器速度有限的系統。 大多數虛擬機包括JVM都是基於棧的,而Dalvik虛擬機則是基於寄存器的。
3、Libraries (程序庫)
Android包含一個C/C++庫的集合,供Android系統的各個組件使用。這些功能通過Android的應用程序框架(application framework)暴露給開發者。
4、Application Framework (應用框架層)
通過提供開放的開發平台,Android使開發者能夠編制極其豐富和新穎的應用程序。開發者可以自由地利用設備硬體優勢、訪問位置信息、運行後台服務、設置鬧鍾、向狀態欄添加通知等等,很多很多。 開發者可以完全使用核心應用程序所使用的框架APIs。
應用程序的體系結構旨在簡化組件的重用,任何應用程序都能發布他的功能且任何其他應用程序可以使用這些功能(需要服從框架執行的安全限制)。這一機制允許用戶替換組件。
5、Applications(應用層)
Android裝配一個核心應用程序集合,包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、聯系人和其他設置。所有應用程序都是用Java編程語言寫的。Android本身是一套軟體堆迭(Software Stack),或稱為「軟體迭層架構」,迭層主要分成三層:操作系統、中間件、應用程序。
(4)androidsgl擴展閱讀
開發人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
隱藏在每個應用後面的是一系列的服務和系統,其中包括;
豐富而又可擴展的視圖(Views),可以用來構建應用程序,它包括列表(lists),網格(grids),文本框(textBoxes),按鈕(buttons),甚至可嵌入的web瀏覽器。
內容提供器(ContentProviders)使得應用程序可以訪問另一個應用程序的數據(如聯系人資料庫),或者共享它們自己的數據
資源管理器(ResourceManager)提供非代碼資源的訪問,如本地字元串,圖形,和布局文件(layoutfiles)。
通知管理器(NotificationManager)使得應用程序可以在狀態欄中顯示自定義的提示信息。
活動管理器(ActivityManager)用來管理應用程序生命周期並提供常用的導航回退功能。
㈤ 什麼是android系統,android的發展以及android的平台架構和特性
Android平台採用了整合的策略思想,包括底層Linux操作系統、中間層的中間件和上層的Java應用程序。下面我把Android的特性及其架構體系結構總結一下。
一、Android的平台特性
Android平台有如下特性:
1. 應用程序框架支持組件的重用與替換。
這樣我們可以把系統中不喜歡的應用程序刪除,安裝我們喜歡的應用程序。
2. Dalvik虛擬機專門為移動設備進行了優化。
Android應用程序將由Java編寫、編譯的類文件通過DX工具轉換成一種後綴名為.dex的文件來執行。Dalvik虛擬機是基於寄存器的,相對於Java虛擬機速度要快很多。
3. 內部集成瀏覽器基於開源的WebKit引擎。
有了內置的瀏覽器,這將意味著WAP應用的時代即將結束,真正的移動互聯網時代已經來臨,手機就是一台「小電腦」,可以在網上隨意遨遊。
4. 優化的圖形庫包括2D和3D圖形庫,3D圖形庫基於OpenGL ES 1.0。
強大的圖形庫給游戲開發帶來福音。在3G最為重要的的應用莫過於手機上網和手機游戲。
5. SQLite用作結構化的數據存儲。
6. 多媒體支持包括常見的音頻、視頻和靜態印象文件格式
如MPEG4、H.264、MP3、AAC、AMR、JGP、PNG、GIF。
7. GSM電話(依賴於硬體)。
8. 藍牙(Bluetooth)、EDGE、3G、WiFi(依賴於硬體)。
9. 照相機、GPS、指南針和加速度計(依賴於硬體)。
10. 豐富的開發環境包括設備模擬器、調試工具、內存及性能分析圖表和Eclipse集成的開發環境插件。
Google提供了Android開發包SDK,其中包含了大量的類庫和開發工具,並且針對Eclipse的可視化開發插件ADT。
二、Android平台架構
從上圖我們可以看出,Android操作系統的體系結構可分為4層,由上到下依次是應用程序、應用程序框架、核心類庫和Linux內核,其中第三層還包括Android運行時的環境。下面分別來講解各個部分。
1. 程序應用
Android
連同一個核心應用程序包一起發布,該應用程序包包括E-mail客戶端、SMS短消息程序、日歷、地圖、瀏覽器、聯系人管理程序等。所有的應用程序都是用Java編寫的。
2. 應用程序框架
開發者完全可以訪問核心應用程序所使用的API框架。該應用程序框架架構用來簡化組件軟體的重用,任何一個應用程序都可以發布它的功能塊並且任何其他的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。該應用程序重用機制使得組件可以被用戶替換。
以下所有的應用程序都由一系列的服務和系統組成,包括:
1)一個可擴展的視圖(Views)可以用來創建應用程序,包括列表(lists)、網路(grids)、文本框(text
boxes)、按鈕(buttons),甚至是一個可嵌入的Web瀏覽器。
2)內容管理器(Content Providers)使得應用程序可以訪問另一個應用程序的數據(如聯系人資料庫),或者共享它們自己的數據。
3)一個資源管理器(Resource Manager)提供非代碼資源的訪問,如本地字元串、圖形和分層文件(layout files)。
4)一個通知管理器(Notification Manager)使得應用程序可以在狀態欄中顯示客戶通知信息。
5)一個活動類管理器(Activity Manager)用來管理應用程序生命周期並提供常用的導航回退功能。
3. Android程序庫
Android包括一個被Android系統中各種不同組件所使用的C/C++集庫。該庫通過Android應用程序框架為開發者提供服務。
以下是一些主要的核心庫:
1)系統C庫:一個從BSD繼承來的標准C系統函數庫(libc),專門為基於Embedded Linux的設備定製。
2)媒體庫:基於PacketVideo
OpenCORE;該庫支持錄放,並且可以錄制許多流行的音頻視頻格式,還有靜態映像文件包括MPEG4、H.264、MP3、AAC、JPG、PNG。
3)Surface Manager:對顯示子系統的管理,並且為多個應用程序提供2D和3D圖層的無縫融合。
4)LibWebCore:一個最新的Web瀏覽器引擎,用來支持Android瀏覽器和一個可嵌入的Web視圖。
5)SGL:一個內置的2D圖形引擎。
6)3D libraries:基於OpenGL ES 1.0 APIs實現;該庫可以使用硬體3D加速(如果可用)或者使用高度優化的3D軟加速。
7)FreeType:點陣圖(bitmap)和向量(vector)字體顯示。
8)SQLite:一個對於所以應用程序可用、功能強勁的輕型關系型資料庫引擎。
4. Android運行庫
Android包括了一個核心庫,該核心庫提供了Java編程語言核心庫的大多數功能。
每一個Android應用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik是針對同時高效地運行多個VMs實現的。Dalvik虛擬機執行.dex的Dalvik可執行文件,該格式文件針對最小內存使用做了優化。該虛擬機是基於寄存器的,所有的類都是經由Java匯編器編譯,然後通過SDK中的DX工具轉化成.dex格式由虛擬機執行。
Dalvik虛擬機依賴於Linux的一些功能,比如線程機制和底層內存管理機制。
5. Linux內核
Android的核心系統服務依賴於Linux內核,如安全性、內存管理、進程管理、網路協議棧和驅動模型。Linux內核也同時作為硬體和軟體棧之間的硬體抽象層。
㈥ Android 手機應用開發一般採用什麼框架
android應用開發框架是 Application Framework. 其系統架構由5部分組成,分別是:Linux
Kernel、Android Runtime、Libraries、Application
Framework、Applications。第二部分將詳細介紹這5個部分。下面自底向上分析各層。
Android架構
1、Linux Kernel
Android
基於Linux 2.6提供核心系統服務,例如:安全、內存管理、進程管理、網路堆棧、驅動模型。Linux
Kernel也作為硬體和軟體之間的抽象層,它隱藏具體硬體細節而為上層提供統一的服務。
如果你學過計算機網路知道OSI/RM,就會知道分層的好處就是使用下層提供的服務而為上層提供統一的服務,屏蔽本層及以下層的差異,當本層及以下層發生
了變化不會影響到上層。也就是說各層各盡其職,各層提供固定的SAP(Service Access Point),專業點可以說是高內聚、低耦合。
如果你只是做應用開發,就不需要深入了解Linux Kernel層。
2、Android Runtime
Android
包含一個核心庫的集合,提供大部分在Java編程語言核心類庫中可用的功能。每一個Android應用程序是Dalvik虛擬機中的實例,運行在他們自己
的進程中。Dalvik虛擬機設計成,在一個設備可以高效地運行多個虛擬機。Dalvik虛擬機可執行文件格式是.dex,dex格式是專為Dalvik
設計的一種壓縮格式,適合內存和處理器速度有限的系統。
大多數虛擬機包括JVM都是基於棧的,而Dalvik虛擬機則是基於寄存器的。兩種架構各有優劣,一般而言,基於棧的機器需要更多指令,而基於寄存器的機
器指令更大。dx 是一套工具,可以將 Java .class 轉換成 .dex
格式。一個dex文件通常會有多個.class。由於dex有時必須進行最佳化,會使文件大小增加1-4倍,以ODEX結尾。
Dalvik虛擬機依賴於Linux 內核提供基本功能,如線程和底層內存管理。
3、Libraries
Android
包含一個C/C++庫的集合,供Android系統的各個組件使用。這些功能通過Android的應用程序框架(application
framework)暴露給開發者。下面列出一些核心庫: 系統C庫--標准C系統庫(libc)的BSD衍生,調整為基於嵌入式Linux設備
媒體庫--基於PacketVideo的OpenCORE。這些庫支持播放和錄制許多流行的音頻和視頻格式,以及靜態圖像文件,包括MPEG4、
H.264、 MP3、 AAC、 AMR、JPG、 PNG 界面管理--管理訪問顯示子系統和無縫組合多個應用程序的二維和三維圖形層
LibWebCore--新式的Web瀏覽器引擎,驅動Android 瀏覽器和內嵌的web視圖 SGL--基本的2D圖形引擎
3D庫--基於OpenGL ES 1.0 APIs的實現。庫使用硬體3D加速或包含高度優化的3D軟體光柵 FreeType
--點陣圖和矢量字體渲染 SQLite --所有應用程序都可以使用的強大而輕量級的關系資料庫引擎
4、Application Framework
通
過提供開放的開發平台,Android使開發者能夠編制極其豐富和新穎的應用程序。開發者可以自由地利用設備硬體優勢、訪問位置信息、運行後台服務、設置
鬧鍾、向狀態欄添加通知等等,很多很多。 開發者可以完全使用核心應用程序所使用的框架APIs。應用程序的體系結構旨在簡化組件的重用
,任何應用程序都能發布他的功能且任何其他應用程序可以使用這些功能(需要服從框架執行的安全限制)。這一機制允許用戶替換組件。
所有的應用程序其實是一組服務和系統,包括:
視圖(View)--豐富的、可擴展的視圖集合,可用於構建一個應用程序。包括包括列表、網格、文本框、按鈕,甚至是內嵌的網頁瀏覽器
內容提供者(Content Providers)--使應用程序能訪問其他應用程序(如通訊錄)的數據,或共享自己的數據
資源管理器(Resource Manager)--提供訪問非代碼資源,如本地化字元串、圖形和布局文件 通知管理器(Notification
Manager)--使所有的應用程序能夠在狀態欄顯示自定義警告 活動管理器(Activity
Manager)--管理應用程序生命周期,提供通用的導航回退功能
5、Applications
Android裝配一
個核心應用程序集合,包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、聯系人和其他設置。所有應用程序都是用Java編程語言寫的。更加豐富的應用
程序有待我們去開發! 從上面我們知道Android的架構是分層的,非常清晰,分工很明確。Android本身是一套軟體堆迭(Software
Stack),或稱為「軟體迭層架構」,迭層主要分成三層:操作系統、中間件、應用程序。從上面我們也看到了開源的力量,一個個熟悉的開源軟體在這里貢獻
了自己的一份力量。
㈦ 安卓程序是用什麼語言編寫的
Android以Java為編程語言,使介面到功能,都有層出不窮的變化,其中Activity等同於J2ME的MIDlet,一個 Activity 類(class)負責創建視窗(window),一個活動中的Activity就是在 foreground(前景)模式,背景運行的程序叫做Service。
兩者之間通過由ServiceConnection和AIDL連結,達到復數程序同時運行的效果。如果運行中的 Activity 全部畫面被其他 Activity 取代時,該 Activity 便被停止(stopped),甚至被系統清除(kill)。
(7)androidsgl擴展閱讀
Android應用程序是android系統智能手機的主要構成部分,實現了智能手機的多樣性、多功能性,結合了辦公功能、娛樂功能、生活實用功能等,廣受人們的喜愛。
Android應用程序有很多,其中讓人耳目一新的個性化實用性應用程序有:
MINT、CHROME、神奇阿萊西、SWYPE/SWiftKey鍵盤、SWYPE/SWiftKey鍵盤、Swype、POCKET閱讀器、SNAPSEED、EYE IN THE SKY天氣、FLICK NOTE、LIGHT FLOW、ANY.DO。
㈧ 誰知道哪裡有對Android的英文介紹,是要英文介紹,直接回答也行,200多字就行。
Android is a software stack for mobile devices that includes an operating system, middleware and key applications. Google Inc. purchased the initial developer of the software, Android Inc., in 2005. Android's mobile operating system is based on the Linux kernel. Google and other members of the Open Handset Alliance collaborated on Android's development and release. The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android. The Android operating system is the world's best-selling Smartphone platform.
Android has a large community of developers writing applications ("apps") that extend the functionality of the devices. There are currently over 250,000 apps available for Android. Android Market is the online app store run by Google, though apps can also be downloaded from third-party sites. Developers write primarily in the Java language, controlling the device via Google-developed Java libraries.
The unveiling of the Android distribution on 5 November 2007 was announced with the founding of the Open Handset Alliance, a consortium of 80 hardware, software, and telecom companies devoted to advancing open standards for mobile devices. Google released most of the Android code under the Apache License, a free software and open source license.
The Android open-source software stack consists of Java applications running on a Java-based, object-oriented application framework on top of Java core libraries running on a Dalvik virtual machine featuring JIT compilation. Libraries written in C include the surface manager, OpenCore media framework, SQLite relational database management system, OpenGL ES 2.0 3D graphics API, WebKit layout engine, SGL graphics engine, SSL, and Bionic libc. The Android operating system, including the Linux kernel, consists of roughly 12 million lines of code including 3 million lines of XML, 2.8 million lines of C, 2.1 million lines of Java, and 1.75 million lines of C++.
㈨ android中構造方法有什麼特點
構造方法是一種特殊的方法,它是一個與類同名且沒有返回值類型的方法。對象的創建就是通過構造方法來完成,其功能主要是完成對象的初始化。當類實例化一個對象時會自動調用構造方法。構造方法和其他方法一樣也可以重載。
在Java中,任何變數在被使用前都必須先設置初值.Java提供了為類的成員變數賦初值的專門方法。構造方法是一種特殊的成員方法,它的特殊性反映在如下幾個方面:
1.構造方法作用:(1).構造出來一個類的實例 (2).對構造出來個一個類的實例(對象)初始化。
2.構造方法的名字必須與定義他的類名完全相同,沒有返回類型,甚至連void也沒有。
3.主要完成對象的初始化工作,構造方法的調用是在創建一個對象時使用new操作進行的。
4.類中必定有構造方法,若不寫,系統自動添加無參構造方法。介面不允許被實例化,所以介面中沒有構造方法。
5.不能被static、final、synchronized、abstract和native修飾。
6.構造方法在初始化對象時自動執行,一般不能顯式地直接調用.當同一個類存在多個構造方法時,java編譯系統會自動按照初始化時最後面括弧的參數個數以及參數類型來自動一一對應。完成構造函數的調用。
7.構造方法分為兩種:無參構造方法 有參構造方法
構造方法可以被重載。沒有參數的構造方法稱為默認構造方法,與一般的方法一樣,構造方法可以進行任何活動,但是經常將他設計為進行各種初始化活動,比如初始化對象的屬性。
8.構造代碼塊:
(1)作用:給對象進行初始化,對象一建立就執行,而且優先於構造函數執行
(2)構造代碼塊和構造函數的區別:
構造代碼塊是給所有不同對象的共性進行統一初始化,構造函數是給對應的對象進行初始化
㈩ 關於android
Android一詞的本義指「機器人」,同時也是Google於2007年11月5日宣布的基於Linux平台的開源手機操作系統的名稱,該平台由操作系統、中間件、用戶界面和應用軟體組成,號稱是首個為移動終端打造的真正開放和完整的移動軟體。目前最好的是Android2.0的摩托羅拉Droid
[編輯本段]簡介
Android是基於Linux內核的軟體平台和操作系統,早期由Google開發,後由開放手機聯盟Open Handset Alliance)開發。它採用了軟體堆層(software stack,又名以軟體疊層)的架構,主要分為三部分。低層以Linux內核工作為基礎,只提供基本功能;其他的應用軟體則由各公司自行開發,以Java作為編寫程序的一部分。另外,為了推廣此技術,Google和其它幾十個手機公司建立了開放手機聯盟。Android在未公開之前常被傳聞為Google電話或gPhone。大多傳聞認為Google開發的是自己的手機電話產品,而不是一套軟體平台。到了2010年1月,Google開始發表自家品牌手機電話的Nexus One。目前最好的是Android2.1
對手機行業的影響
已經與HTC、NTT DoCoMo、KDDI、Motorola等世界移動領域34家公司於免費提供達成一致。今後對於移動通訊的影響勢必會進一步體現出來。但是如此廣泛公司的同盟是否能夠有效運作及以持久值得拭目以待。MOTO Droid
Android手機
2008年9月22日,美國運營商T-MobileUSA在紐約正式發布第一款Google手機——T-Mobile G1。該款手機為台灣宏達電代工製造,是世界上第一部使用Android操作系統的手機,支持WCDMA/HSPA網路,理論下載速率7.2Mbps,並支持Wi-Fi。
(右圖為搭載最新Google Android 2.0的Moto Droid)
[編輯本段]基本情況
Android 是Google開發的基於Linux平台的開源手機操作系統(在華注冊商標名為「安致」)。它摩托羅拉的首款Android手機CLIQ包括操作系統、用戶界面和應用程序 —— 行動電話工作所需的全部軟體,而且不存在任何以往阻礙移動產業創新的專有權障礙,號稱是首個為移動終端打造的真正開放和完整的移動軟體。Google與開放手機聯盟合作開發了 Android,這個聯盟由包括中國移動、摩托羅拉、高通、宏達電和 T-Mobile 在內的 30 多家技術和無線應用的領軍企業組成。Google通過與運營商、設備製造商、開發商和其他有關各方結成深層次的合作夥伴關系,希望藉助建立標准化、開放式的行動電話軟體平台,在移動產業內形成一個開放式的生態系統。
它採用了軟體堆層(software stack,又名軟體疊層)的架構,主要分為三部分:底層以Linux核心為基礎,由c語言開發,只提供基本功能。中間層包括函數庫Library和虛擬機Virtual Machine,由C+開發。最上層是各種應用軟體,包括通話程序,簡訊程序等,應用軟體則由各公司自行開發,以java編寫。
為了推廣此技術,Google和其它幾十個手機公司建立了開放手機聯盟(Open Handset Alliance)。
Android操作系統的組件如下圖:
Android 作為谷歌企業戰略的重要組成部分,將進一步推進「隨時隨地為每個人提供信息」這一企業目標的實現。全球為數眾多的行動電話用戶正在使用各種基於 Android 的電話。谷歌的目標是讓(移動通訊)不依賴於設備甚至平台。出於這個目的,Android 將補充,而不會替代谷歌長期以來奉行的移動發展戰略:通過與全球各地的手機製造商和移動運營商結成合作夥伴,開發既有用又有吸引力的移動服務,並推廣這些產品。
[編輯本段]團隊成員
白色版HTC G1Android平台的研發隊伍陣容強大,包括摩托羅拉、Google、HTC(宏達電)、PHILIPS、T-Mobile、高通、魅族、三星、LG以及中國移動在內的34家企業,都將基於該平台開發手機的新型業務,應用之間的通用性和互聯性將在最大程度上得到保持。「開放手機聯盟」表示,Android平台可以促使移動設備的創新,讓用戶體驗到最優越的移動服務,同時,開發商也將得到一個新的開放級別,更方便的進行協同合作,從而保障新型移動設備的研發速度。
34家企業的加盟,也將大大降低新型手機設備的研發成本,完全整合的「全移動功能性產品」成為「開放手機聯盟」的最終目標。
這34家企業中並不包含把持Symbian的諾基亞,以及憑借著iPhone風光正在的蘋果公司,美國運營商AT&T和Verizon,當然微軟沒有加入,獨樹一幟的加拿大RIM和他們的Blackberry也被擋在門外。
手機開放聯盟大家庭成員名單:
一、手機製造商:
台灣宏達國際電子(HTC)(Palm等多款智能手機的代工廠)
摩托羅拉(美國最大的手機製造商)
韓國三星電子(僅次於諾基亞的全球第二大手機製造商)
韓國LG電子
中國移動(全球最大的移動運營商,截至09年9月底 有7.03億用戶)
日本KDDI(2900萬用戶)
日本NTT DoCoMo(5200萬用戶)
美國Sprint Nextel(美國第三大移動運營商,5400萬用戶)
義大利電信(Telecom Italia)(義大利主要的移動運營商,3400萬用戶)
西班牙Telefónica (在歐洲和拉美有1.5億用戶)
T-Mobile(德意志電信旗下公司,在美國和歐洲有1.1億用戶)
二、半導體公司:
Audience Corp(聲音處理器公司)
Broadcom Corp(無線半導體主要提供商)
英特爾(Intel)
Marvell Technology Group
Nvidia (圖形處理器公司)
SiRF(GPS技術提供商)
Synaptics(手機用戶界面技術)
德州儀器(Texas Instruments)
高通(Qualcomm )
惠普HP(Hewlett-Packard Development Company, L.P)
三、軟體公司:
Aplix
Ascender
eBay的Skype
Esmertec
Living Image
NMS Communications
Noser Engineering AG
Nuance Communications
PacketVideo
SkyPop
Sonix Network
TAT-The Astonishing Tribe
Wind River Systems
[編輯本段]特性
·應用程序框架 支持組件的重用與替換
·Dalvik虛擬機 專門為移動設備做了優化
·內部集成瀏覽器 該瀏覽器基於開源的WebKit 引擎
·優化的圖形庫 包括2D和3D圖形庫,3D圖形庫基於OpenGL ES 1.0 (硬體加速可選)
·#SQLite 用作結構化的數據存儲
·多媒體支持 包括常見的音頻、視頻和靜態印象文件格式 (如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
·GSM電話 (依賴於硬體)
·藍牙Bluetooth, EDGE, 3G, and WiFi (依賴於硬體)
·照相機,GPS,指南針,和加速度計 (依賴於硬體)
·豐富的開發環境 包括設備模擬器,調試工具,內存及性能分析圖表,和Eclipse集成開發環境插件
[編輯本段]架構
下圖顯示的是Android操作系統的主要組件。每一部分將會在下面具體描述。
Android架構
[編輯本段]應用程序
Android會同一個核心應用程序包一起發布,該應用程序包包括email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。所有的應用程序都是用JAVA編寫的。
Android 應用程序框架開發者也完全可以訪問核心應用程序所使用的API框架。該應用程序架構用來簡化組件軟體的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。該應用程序重用機制使得組建可以被用戶替換。
以下所有的應用程序都由一系列的服務和系統組成,包括:
·一個可擴展的視圖(Views )可以用來建應用程序,包括列表(lists),網格(grids),文本框(text boxes),按鈕(buttons),甚至包括一個可嵌入的web瀏覽器
·內容管理器(Content Providers )使得應用程序可以訪問另一個應用程序的數據(如聯系人資料庫),或者共享它們自己的數據。
·一個資源管理器 (Resource Manager)提供非代碼資源的訪問,如本地字元串,圖形,和分層文件( layout files )。
·一個通知管理器 (Notification Manager)使得應用程序可以在狀態欄中顯示客戶通知信息。
·一個活動類管理器 (Activity Manager)用來管理應用程序生命周期並提供常用的導航回退功能。
有關更多的細節和怎樣從頭寫一個應用程序,請參考 寫一個 Android 應用程序 部分。
Android 程序庫Android 包括一個被 Android 系統中各種不同組件所使用的 C/C++ 庫集。該庫通過 Android 應用程序框架為開發者提供服務。以下是一些主要的核心庫:
系統 C 庫 - 一個從 BSD 繼承來的標准 C 系統函數庫( libc ),專門為基於 embedded linux 的設備定製。 媒體庫 - 基於 PacketVideo OpenCORE;該庫支持錄放,並且可以錄制許多流行的音頻視頻格式,還有靜態印像文件包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。 Surface Manager - 對顯示子系統的管理,並且為多個應用程序提供2D和3D圖層的無縫融合。 LibWebCore - 一個最新的web瀏覽器引擎用來支持Android瀏覽器和一個可嵌入的web視圖。 SGL - 一個內置的2D圖形引擎 3D libraries - 基於OpenGL ES 1.0 APIs實現;該庫可以使用硬體3D加速(如果可用)或者使用高度優化的3D軟加速。 FreeType - 點陣圖(bitmap)和向量(vector)字體顯示。 SQLite - 一個對於所有應用程序可用,功能強勁的輕型關系型資料庫引擎。
Android 運行庫
Android 包括了一個核心庫,該核心庫提供了JAVA編程語言核心庫的大多數功能。
每一個Android應用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik是針對於同時高效地運行多個VMs來實現的。Dalvik虛擬機執行.dex的Dalvik可執行文件,該格式文件針對最小內存使用做了優化。該虛擬機是基於寄存器的,所有的類都經由JAVA匯編器編譯,然後通過SDK中的dx工具轉化成.dex格式由虛擬機執行。
Dalvik虛擬機依賴於linux的一些功能,比如線程機制和底層內存管理機制。
Linux 內核Android 的核心系統服務依賴於 Linux 2.6 內核,如安全性,內存管理,進程管理,網路協議棧和驅動模型。 Linux 內核也同時作為硬體和軟體堆棧之間的硬體抽象層。
[編輯本段]硬體產品
已發布(預裝)
GOOGLE(HTC代工) Nexus one
HTC Dream
HTC Magic
HTC Hero
HTC Tattoo
MOTO CLIQ(DEXT)
MOTO Droid(Milestone)
MOTO BackFlip
MOTO XT800
MOTO XT701
MOTO XT710
Sony Ericsson X10
Qigi i6
Acer A1
HKC Pearl
HKC Imobile v413
Samsung I7500
Samsung i5700
售後安裝
一些用戶已經能夠(某些黑客,以及有限的功能)安裝Android在其它操作系統的移動設備之上:
OpenMoko手機 (Neo FreeRunner 及 Neo 1973)Motorola A1200 MingHTC VogueHTC PolarisHTC KaiserHTC Touch Diamond: 並非所有功能都被許可 (包括 Wifi)HTC Touch Pro諾基亞 N810諾基亞 770Asus EeePC 701Asus EeePC 1000HTouch Book from Always InnovatingDell Axim x51vHTC Touch HD: 並非所有功能都被許可 (包括 Wifi和音頻語音通話)Samsung Omnia: 只有基本功能(沒有相機或WiFi,需要安裝在SD卡中)Sharp Zaurus
[編輯本段]未來發展
老牌智能手機軟體平台製造商Symbian發言人則表示:Google的android只不過是另一個linux,symbian對其它軟體與其形成的競爭並不感到擔心。除了北美之外,Symbian在其它地區智能手機市場都佔有大部分市場份額。
與iPhone相似,Android採用WebKit瀏覽器引擎,具備觸摸屏、高級圖形顯示和上網功能,用戶能夠在手機上查看電子郵件、搜索網址和觀看視頻節目等,比iPhone等其他手機更強調搜索功能,界面更強大,可以說是一種融入全部Web應用的單一平台。
但其最震撼人心之處在於Android手機系統的開放性和服務免費。Android是一個對第三方軟體完全開放的平台,開發者在為其開發程序時擁有更大的自由度,突破了iPhone等只能添加為數不多的固定軟體的枷鎖;同時與Windows Mobile、Symbian等廠商不同,Android操作系統免費向開發人員提供,這樣可節省近三成成本。
Android項目目前正在從手機運營商、手機廠商、開發者和消費者那裡獲得大力支持。谷歌移動平台主管安迪·魯賓(Andy Rubin)表示,與軟體開發合作夥伴的密切接觸正在進行中。從去年11月開始,谷歌開始向服務提供商、晶元廠商和手機銷售商提供Android平台,並組建「開放手機聯盟」,其成員超過30家。
[編輯本段]市場前景
Google手機於08年10月22日正式上市,與運營商捆綁的合約價為179美元(約合人民幣1200元),現有的T-Mobile用戶可以通過網路訂購。在10月22日發布當天,將有22個國家和地區可以買到谷歌手機。在11月,將增至27個國家和地區。
谷歌手機將只能在T-Mobile網路內使用,將會有SIM卡鎖定限制。T-Mobile USA提供了兩種流量和簡訊近曝光的moto sholes(也有人稱之為moto tao)將搭載最新的android2.0操作系統包月計劃。第一檔為25美元,包括不限制的網路流量,以及一定數量的簡訊;第二檔為35美元,包括不限制的網路流量和不限數量的簡訊。G1支持各種谷歌的服務,包括Gmail、Google Maps、YouTube、Google日歷和Google Talk,內置Chrome Lite瀏覽器。使用這款手機也需要Gmail賬號。
「我愛死我的G1了!」谷歌聯合創始人拉里·佩奇(Larry Page)憧憬:「對於我來說,谷歌手機最激動人心的一點就是它的未來。它的功能很強,正如幾年前的電腦一樣。你可以上網,安裝軟體。」
T-Mobile USA為德國電信旗下移動子公司,運營GSM/HSPA網路,擁有用戶近3000萬。此次發布的谷歌手機採用高通MSM7201A處理器,支持7.2Mbps下載速率,美國運營商3G網路設定的套餐速率一般可達1Mbps以上。MSM7201A為單晶元、雙核,整合硬體加速多媒體功能、支持3D圖形,300萬像素的攝像功能可以掃描條形碼,並且有GPS功能。
在美國四大移動運營商中,T-Mobile USA處於相對弱勢的地位,不過T-Mobile在歐洲有更為強勢的是CDMA EV-DO網路,而T-Mobile USA和蘋果iPhone的獨家運營商AT&T為GSM/HSPA網路,後者在2005年12月就推出了全球第一個HSDPA商用服務。
T-Mobile USA今年5月方才在紐約推出了3G服務,目前已經在奧斯汀、巴爾的摩、波士頓、達拉斯、休斯敦、拉斯維加斯、邁阿密、明尼阿波利斯、鳳凰城、波特蘭、聖安東尼奧和聖地亞哥等12個城市增加了3G覆蓋,公司計劃年底前將3G覆蓋的城市從目前的13個增加到27個,能夠為其超過2/3的用戶提供3G服務。
市場手機品牌
摩托羅拉
摩托羅拉沉寂了一年終於要爆發了!由於受到金融危機的影響,摩托羅拉在過去的一年裡顯得極為沉寂,似乎突然蒸發掉似的,財報上的體現也是在不斷虧損,甚至還一度有傳言說摩托羅拉打算放棄手機市場。
不過摩托羅拉並沒有這樣做,而是卧薪嘗膽研發Android智能手機,意欲通過Android挽回失去的市場份額。9月10日摩托羅拉CLIQ的發布已經為摩托羅拉掙足了掌聲,接下來應該是摩托羅拉翻身仗的關鍵了。
摩托羅拉的首款Android手機CLIQ
摩托羅拉曾說過,CLIQ只不過是一款中端手機,很明顯這款Sholes才是摩托羅拉的Android旗艦。他們先是和Verizon推出了一則名「DroidDoes(Android能做到)」的廣告,從多方面告訴用戶蘋果不能而Android能。
現在他又通過郵件來宣傳這款手機,信封的封套上寫著「發布之日即將來臨」,並在一個破洞之後露出了炙熱的眼睛。而在裡面的信封上則表明了這款手機的一些特色,比如速度快,可以在黑暗中拍照,支持谷歌語音搜索等。
據台灣媒體報道,一位分析師稱,作為蘋果iPhone在今年假日季節到來之時的競爭產品,美國最大的行動電話製造商摩托羅拉的智能手機Droid自11月6日通過Verizon Wireless推出以來,其銷售量已經達到80萬部。 摩托羅拉智能手機Droid,運行的是谷歌Android操作系統。紐約RBCCapitalMarkets公司分析師馬克·休(MarkSue)周日在一份研究報告中表示,該數字將使得摩托羅拉在第四季度按計劃實現銷售100萬部目標。
馬克·休稱,摩托羅拉的銷售業績一直受到VerizonWireless廣告促銷和商店促銷的推動。Verizon Wireless把Droid作為iPhone新版本的競爭產品向蘋果發起了挑戰。蘋果新版iPhone截止6月份的第一個周末銷售量就超過100萬部。
馬克·休稱:「在假日季節到來曾用名,VerizonWireless加強了Droid的營銷。摩托羅拉在產品方面得很出色,我們對超過100家商店的調查顯示,該產品需求很強勁。」這位分析師表示,摩托羅拉股價表現將好於競爭對手。
市場研究公司NPDGroup今年8月份稱,蘋果的iPhone和RIM的BlackBerryCurve手機第二季度在美國智能手機市場處於領先位置。高端手機能夠讓用戶發送電郵並且編輯文檔。
周一在紐約證券交易所,摩托羅拉股價下跌0.19美元,報收於8.01美元,跌幅2.3%。摩托羅拉股價今年以來已經上漲81%。總部位於美國紐約的Verizon通信公司(VerizonCommunications)周一股價下跌0.17美元,報收於31.46美元,該公司股價今年以來已經下跌7.2%。Verizon無線是Verizon通信公司同英國沃達豐公司的合資企業。
琦基
去年11月27日,琦基發布了全球首款Google Android/Windows Mobile雙操作系統的智能手機琦基i6,採用Google Android操作系統的叫做琦基i6 goal,採用Windows Mobile操作系統的叫做琦基i6 Win。
華碩
華碩公司CEO沈振來日前在CES展會上向媒體表示,公司正在考慮推出一款Eee品牌手機,並可能基於Google Android操作系統。
聯想
OMS和T-mobile G1搭載的Android(以最初上市版本為主)的不同之處就是可以使用戶自行關閉正在運行的程序而不是由系統控制:按住屏幕上方向下拖動即可看到任務管理器。 樂Phone是聯想最新推出的一款Android系統手機,將於2010年5月發布。
HKC Pearl
做為目前在市面上唯一正式銷售的Windows和Android系統雙系統手機,這款HKC Pearl 珍珠珠配備了QVGA屏幕,內存採用了128MB/256MB的標准配置,主處理器採用PXA 310處理器,624Mhz的主頻性能非常強勁,而且機器還配備了Wi-Fi,藍牙2.0無線傳輸設置。
華為
造型上,U8230在外觀上有別於其他Android手機的塑料風格,通體的銀灰色和正面功能鍵盤的發絲紋路都洋溢著商務機型的味道。而作為功能上的特色,U8230擁有一塊3.5英寸的大屏幕、高達1500毫安時的鋰電池和一枚320萬象素攝像頭採用Android平台1.5版本。預計將於下半年正式發售。
海爾
海爾H7採用的是Android OS 1.5系統,不過如果H7上市時Android OS已經升級到2.0版的話海爾應該會一步到位選擇Android OS 2.0。由於海爾在亞洲電信展上展示的H7隻是模型機,因此這款手機與HTC的Android機型相比究竟如何尚不得而知。不過海爾的規格說明書表明,H7將會配備2.8英寸觸摸顯示屏,內置WiFi、GPS和藍牙模塊,支持FM收音,配備200萬象素攝像頭,支持閃光燈功能。
華禹
xPhone是由上海禹華通信技術有限公司設計的,採用類iphone的觸控設計,配置了3寸WQVGA解析度的觸摸屏,內建300W像素的攝像頭,搭載Android平台,採用主頻 624Mhz的Marvell PXA-310處理器,擁有128MB SDRAM+256MB ROM的內存配置,支持最大16GB的存儲卡擴展,給出的參數中居然還加入了WiFi功能,該機尚未正式發布,我們就靜候佳音吧。
宏基Acer A1採用高通8250處理器,最新Android 1.6版本操作系統,512 MB內存,3.5英寸觸控屏,可支持GSM和WCDMA雙制式,內置GPS,500萬像素攝像頭,支持micro SD擴展。09年9月底開始在法國和德國接受預定,Acer A1售價為389.99歐元。國外品牌摩托羅拉摩托羅拉 Cliq是全球首款發售的Android操作系統智能手機,採用側滑蓋設計,支持GSM和WCDMA雙頻,3.1英寸屏幕,320×480像素屏幕解析度,內置500萬攝像頭,機身自帶256MB內存,支持micro SD擴展。該機最大特色是支持世界上主流社。而最,據悉將在十月上市。
魅族
即將推出的魅族M8 3G版本,使用微軟CE與Android雙系統。
分別推出TD.WCDMA.CDMA2000版本。
[編輯本段]Android在中國
android在中國的前景十分廣闊,首先是有成熟的消費者,在國內,android社區十分紅火,這些社區為android在中國的普及做了很好的推廣作用。國內廠商和運營商也紛紛加入了android陣營,包括OPPO,中國移動,中國聯通,華為通訊,聯想等大企業。