Ⅰ 關於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,中國移動,中國聯通,華為通訊,聯想等大企業。
Ⅱ Android操作系統是基於Linux Kernel是什麼意思
每一個操作系統都有不同的內核。像Windows每個版本的內核都不同,而Mac OX用的是Unix的內核,Linux用的是Linux內核。而Android操作系統的內核是Linux,但是他不是一種Linux操作系統。
Ⅲ 在Android上開發一個3D游戲需要用到哪些技術
Android開源游戲引擎是Android游戲開發的基礎,選擇一個好的Android游戲開發的引擎能讓我們更好的來開發游戲,下面就為大家簡紹幾個Android開源游戲引擎。
1、Angle
Angle是一款專為Android平台設計的,敏捷且適合快速開發的2D游戲引擎,基於OpenGL ES技術開發。該引擎全部用Java代碼編寫,並且可以根據自己的需要替換裡面的實現,缺陷在於文檔不足,而且下載的代碼中僅僅包含有少量的示例教程。
2、Rokon
rokon是一款Android 2D游戲引擎,基於OpenGL ES技術開發,物理引擎為Box2D,因此能夠實現一些較為復雜的物理效果,該項目最新版本為 2.0.3 (09/07/10)。總體來說,此引擎最大的優點在於其開發文檔相當之完備,並且項目作者對反饋Bug的修正非常之神速,所以該框架的使用在目前也最為 廣泛,有人乾脆將它稱為Cocos2d-iPhone引擎的Android版(業務邏輯和編碼風格上也確實很像)。附帶一提,國內某個需要注冊會員才能下 載的Android游戲框架衍生於此框架,所以大家也不要刻板的認為收費便一定是好的,免費就一定不好,最低運行環境要求為Android 1.5。
3、LGame
LGame是一款國人開發的Java游戲引擎,有Android及PC(J2SE)兩個開發版本,目前最高版本同為0.2.6(31/07/10)。其底 層繪圖器LGrpaphics封裝有J2SE以及J2ME提供的全部Graphics API(PC版採用Graphics2D封裝,Android版採用Canvas模擬實現),所以能夠將J2SE或J2ME開發經驗直接套用其中,兩版本 間主要代碼能夠相互移植。Android版內置有Admob介面,可以不必配置XML直接硬編碼Admob廣告信息。
該引擎除了基本的音效、圖形、物理、精靈等常用組件以外,也內置有Ioc、xml、http等常用Java組件的封裝,代價是jar體積較為龐大,PC版 已突破1.2MB,Android版有所簡化也在500KB左右。此外,該引擎還內置有按照1:1實現的J2ME精靈類及相關組件,可以將絕大多數 J2ME游戲平移到Android或PC版中。唯一遺憾的是,該項目作者是個極其懶惰的傢伙,開發文檔從去年說到今年依舊沒有提供,只有游戲示例可供下 載。
4、jPCT
jPCT是一款基於OpenGL技術開發的3D圖形引擎(PC環境為標准OpenGL,Android為OpenGL ES), 以Java語言為基礎的,擁有功能強大的Java 3D解決方案。該引擎與LGame(此為2D游戲引擎)相類似,目前擁有PC(J2SE)以及Android兩個開發版本。
jPCT的最大優勢之一,就在於它驚人的向下兼容性。在PC環境中,jPCT甚至可以運行在JVM1.1環境之中,因為jPCT內部提供的圖形渲染介面完 全符合所有的Java 1.1規范(就連已經消失的Microsoft VM乃至更古老的Netscape 4 VM也不例外)。
5、Catcake
Catcake是一款跨平台的Java 3D圖形引擎,目前支持PC(J2SE)及Android環境運行(已有iPhone版規劃)。該引擎在易用性和運行性能上皆有出色的表現,支持常見的游戲開發功能,諸如精靈動畫,音頻處理和視頻播放等。
轉網路知道
Ⅳ 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以Java為編程語言,使介面到功能,都有層出不窮的變化,其中Activity等同於J2ME的MIDlet,一個 Activity 類(class)負責創建視窗(window),一個活動中的Activity就是在 foreground(前景)模式,背景運行的程序叫做Service。兩者之間通過由ServiceConnection和AIDL連結,達到復數程序同時運行的效果。如果運行中的 Activity 全部畫面被其他 Activity 取代時,該 Activity 便被停止(stopped),甚至被系統清除(kill)。
View等同於J2ME的Displayable,程序人員可以通過 View 類與「XML layout」檔將UI放置在視窗上,Android 1.5的版本可以利用 View 打造出所謂的 Widgets,其實Widget只是View的一種,所以可以使用xml來設計layout,HTC的Android Hero手機即含有大量的widget。至於ViewGroup 是各種layout 的基礎抽象類(abstract class),ViewGroup之內還可以有ViewGroup。View的構造函數不需要再Activity中調用,但是Displayable的是必須的,在Activity 中,要通過findViewById()來從XML 中取得View,Android的View類的顯示很大程度上是從XML中讀取的。View 與事件(event)息息相關,兩者之間通過Listener 結合在一起,每一個View都可以注冊一個event listener,例如:當View要處理用戶觸碰(touch)的事件時,就要向Android框架注冊View.OnClickListener。另外還有Image等同於J2ME的BitMap。 操作系統與應用程序的溝通橋梁,並用分為兩層:函數層(Library)和虛擬機(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同時包含了Webkit,所謂的Webkit 就是Apple Safari瀏覽器背後的引擎。Surface flinger 是就2D或3D的內容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自製的Bionic Libc。
Android採用OpenCORE作為基礎多媒體框架。OpenCORE可分7大塊:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。
Android 使用skia 為核心圖形引擎,搭配OpenGL/ES。skia與Linux Cairo功能相當,但相較於Linux Cairo, skia 功能還只是陽春型的。2005年Skia公司被Google收購,2007年初,Skia GL源碼被公開,目前Skia 也是Google Chrome 的圖形引擎。
Android的多媒體資料庫採用SQLite資料庫系統。資料庫又分為共用資料庫及私用資料庫。用戶可通過ContentResolver類(Column)取得共用資料庫。
Android的中間層多以Java 實現,並且採用特殊的Dalvik虛擬機(Dalvik Virtual Machine)。Dalvik虛擬機是一種「暫存器型態」(Register Based)的Java虛擬機,變數皆存放於暫存器中,虛擬機的指令相對減少。
Dalvik虛擬機可以有多個實例(instance), 每個Android應用程序都用一個自屬的Dalvik虛擬機來運行,讓系統在運行程序時可達到優化。Dalvik虛擬機並非運行Java位元組碼(Bytecode),而是運行一種稱為.dex格式的文件。 Android 的 HAL(硬體抽像層)是能以封閉源碼形式提供硬體驅動模塊。HAL 的目的是為了把 Android framework 與 Linux kernel 隔開,讓 Android 不至過度依賴 Linux kernel,以達成 kernel independent 的概念,也讓 Android framework 的開發能在不考量驅動程序實現的前提下進行發展。
HAL stub 是一種代理人(proxy)的概念,stub 是以 *.so 檔的形式存在。Stub 向 HAL「提供」操作函數(operations),並由 Android runtime 向 HAL 取得 stub 的 operations,再 callback 這些操作函數。HAL 里包含了許多的 stub(代理人)。Runtime 只要說明「類型」,即 mole ID,就可以取得操作函數。 Android 是運行於 Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux 里支持的功能,Android 大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 為了達到商業應用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程序移到 userspace,使得Linux driver 與 Linux kernel徹底分開。bionic/libc/kernel/ 並非標準的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所產生的,這樣做是為了保留常數、數據結構與宏。
目前Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Managemeat),程序管理(Process Management),網路堆棧(Network Stack),驅動程序模型(Driver Model)等。下載Android源碼之前,先要安裝其構建工具Repo來初始化源碼。Repo 是 Android 用來輔助Git工作的一個工具。
Ⅵ Android有多強大
Android 用甜點作為它們系統版本的代號的命名方法開始於 Andoird 1.5 發布的時候。作為每個版本代表的甜點的尺寸越變越大,然後按照26個字母數序:紙杯蛋糕,甜甜圈,松餅,凍酸奶,姜餅,蜂巢。
Android 1.1
發布時間:發布於 2008 年9月
Android 1.5
Cupcake紙杯蛋糕 發布時間:發布於 2009 年 4 月
Android 1.6
Donut甜甜圈 發布時間:2009 年 9 月
Android 2.0
Eclair松餅 發布時間:2009 年 10 月 26 日
Android 2.1
Eclair松餅 發布時間: 2009 年 10 月 26 日 Android 2.1主要特性:提升硬體速度 更多屏幕以及解析度選擇 大幅度的用戶界面改良支持 Exchange活動牆紙 大幅改進虛擬鍵盤 藍牙 2.1 Google 地圖
Android 2.2
Froyo凍酸奶 谷歌於北京時間2010年5月20日晚上10:30點在舊金山Moscone會展中心舉辦Google I/O 2010大會第二天的會議,Google正式發布了代號是「froyo 凍酸奶」的Android操作系統2.2版。 相對於上一版本的 改變: 1、整體性能大幅度的提升 2、3G網路共享功能。 3、Flash的支持。 4、App2sd功能。 5、全新的軟體商店。 6、更多的Web應用API介面的開發。
Android 2.2 For x86
在幾位華人軟體工程師的努力下,中國的用戶已經可以享受到真正在上網本上可以安裝使用的Android了,這就是孫翊、黃志偉和Corentin Chary和其他幾位活躍的開發人員正在參與的Android-x86開源項目。此外,還有其他的開發人員如Kelly2.Blue、Wu Hai Gang、Swand ke 和 Wallace1 wang,他們都是來自中國大陸和台灣的華人軟體工程師。 在孫翊發來的最新版本更新說明中,明確表示:他們已經解決了眾多的技術難題,包括中文拼音輸入法的bug修訂,藍牙支持,無線網卡支持、SSL的bug修訂等,甚至已經可以直接安裝到上網本上,從硬碟啟動。
Android2.3
Gingerbread姜餅 北京時間2010年12月7日凌晨,Google正式對外發布了他們的下一代智能手機操作系統Android 2.3也就被大家所熟知的Android Gingerbread系統。 主要更新包括: 游戲:增加了新的垃圾回收和優化處理事件,以提高對游戲的支持能力。原生代碼可直接存取輸入和感應器事件、EGL/OpenGL ES、OpenSL ES。新的管理窗口和生命周期的框架。 多媒體:支持VP8和WebM視頻格式,提供AAC和AMR寬頻編碼,提供了新的音頻效果器,比如混響、均衡、虛擬耳機和低頻提升 通訊方式:支持前置攝像頭、SIP/VOIP和NFC(近場通訊) 站在用戶的角度看,這次更新的亮點主要有: 簡化界面、速度提升: 更快更直觀的文字輸入: 一鍵文字選擇和復制/粘帖: 改進的電源管理系統: 新的應用管理方式: 原生支持前置攝像頭、互聯網通話和NFC(近場通訊): 系統原生支持VoIP,可以在聯系人里加入它的SIP帳戶,然後直接通過系統來撥打VoIP電話。 增加下載管理器:
Android 2.4
Ice cream sandwich冰激凌三明治 預計在2011年第四季度發布。其甜品代號為 Ice cream sandwich(冰激凌三明治) 目前已知的Android 2.4帶來的更新包括更多的動畫特效、更快的運行速度、軟體通話降噪、視頻聊天等。
Android N.n
有可靠的消息人士表示,繼「冰激凌三明治」之後,下一版Android系統的代號將為「Jelly Bean」。
Android3.0
Honeycomb(蜂巢) 3.0系統特性 ·優化針對平板 ·全新設計的UI增強網頁瀏覽功能 ·n-app purchases功能
Android3.1
Honeycomb 蜂巢(改進3.0BUG) ·經過優化的Gmail電子郵箱; ·全面支持GoogleMaps Android 3.1Honeycomb(3.0改進) 將Android手機系統跟平板系統再次合並,從而方便開發者。 任務管理器可以滾動,支持USB 輸入設備(鍵盤、滑鼠等)。 支持 Google TV.可以支持XBOX 360無線手柄 widget支持的變化,能更加容易的定製屏幕widget插件。
Android 3.2
Honeycomb(蜂巢) 2011年7月13日,谷歌公司放出了新版「蜂巢」Android 3.2的升級源碼,合作廠商摩托羅拉亦在當日發布了針對旗下XOOM平板電腦的升級固件,為用戶更新新版系統。 Android 3.2這一新版平板電腦操作系統開始支持7英寸設備,並引入了應用顯示縮放功能,可以讓那些針對手機開發的應用,更平滑的顯示在平板電腦上。
編輯本段系統優勢
開放性 在優勢方面,Android平台首先就是其開放性,開放的平台允許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可以使其擁有更多的開發者,隨著用戶和應用的日益豐富,一個嶄新的平台也將很快走向成熟。 掙脫束縛 在過去很長的一段時間,特別是在歐美地區,手機應用往往受到運營商制約,使用什麼功能接入什麼網路,幾乎都受到運營商的控制。自從iPhone上市,用戶可以更加方便地連接網路,運營商的制約減少。隨著EDGE、HSDPA這些2G至3G移動網路的逐步過渡和提升,手機隨意接入網路已不是運營商口中的笑談。 豐富的硬體 這一點還是與Android平台的開放性相關,由於Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產品。 開發商 Android平台提供給第三方開發商一個十分寬泛、自由的環境。因此不會受到各種條條框框的阻撓,可想而知,會有多少新穎別致的軟體會誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android難題之一。 Google應用 從搜索巨人到全面的互聯網滲透,Google服務如地圖、郵件、搜索等已經成為連接用戶和互聯網的重要紐帶,而Android平台手機將無縫結合這些優秀的Google服務。
編輯本段系統缺陷
一、Android系統手機泄密 二、撥號後自動掛斷電話 通話BUG頻繁出現 三、對硬體配置要求高 製造成本增加 四、系統費電嚴重 安卓手機續航不足 五、系統計算器計算有偏差 例如在Android系統自帶的計算器內輸入14.52-14.49,正確結果應該是0.03,但是計算器結果顯示的數字為0.0299999。
編輯本段研發聯盟
開放手機聯盟
為了推廣Android,Google和幾十個手機相關企業建立了開放手機聯盟(Open Handset Alliance)。 聯盟成員包括摩托羅拉(Motorola)、HTC、SAMSUNG、LG、Intel、NVIDIA、SiRF、Skype、KUPA Map 、MTK 以及中國移動在內的34家技術和無線應用的領軍企業。這34家企業中並不包含把持Symbian的Nokia公司,以及憑借著iPhone風光正在的Apple公司,微軟沒有加入,加拿大RIM和它的Blackberry也被擋在門外。 手機開放聯盟大家庭成員名單: 終端製造商 Motorola(摩托羅拉)- 美國(美國最大的手機製造商,著名老牌IT公司) Sony Ericsson(索尼愛立信)- 英國(索尼和愛立信的合資公司) HTC(宏達國際電子股份有限公司)-中國台灣 Samsung Electronics(三星電子)- 韓國 LG Electronics(LG電子)- 韓國 Lumigon (丹麥陸力更手機公司)- 丹麥 ARCHOS(愛可視)- 法國 TOSHIBA(東芝)- 日本 安卓
SHARP(夏普)-日本 Fujitsu(富士通)-日本 NEC(日本電気株式會社)-日本 魅族 - 中國 小米--中國 移動運營商 China Telecom(中國電信)- 中國 China Mobile(中國移動)- 中國 China Unicom(中國聯通)- 中國 SK Telecom - 韓國 KT - 韓國 LG U - 韓國 KDDI by AU - 日本 Softbank -日本 NTT DoCoMo(日本電信電話公司)- 日本 Sprint Nextel(美國斯普林特Nextel公司)- 美國 Telecom Italia(義大利電信)- 義大利 Telefónica - 西班牙 T-Mobile - 德國 半導體公司 ARM- 英國 Texas Instruments(德州儀器)- 美國 Qualcomm(高通)- 美國 NVIDIA(英偉達)- 美國 MediaTek(聯發科)- 中國台灣 ST(意法半導體)- 歐洲 Infineon(英飛凌科技)- 德國 ST-Ericsson(ST愛立信)- 歐洲 Audience (聽眾)- 美國 Broadcom (博通)- 美國 Intel(英特爾)- 美國 Marvell (俊茂微電子)- 美國 SiRF(瑟夫)- 美國 Synaptics(新思)- 美國 HP(惠普)- 美國 軟體公司 Aplix - 日本 Ascender - 美國 Skype(微軟)- 美國 Esmertec(微迅)- 瑞士 Living Image - 美國 NMS Communications - 加拿大 Noser Engineering AG - 德國 Nuance Communication - 美國 PacketVideo - 美國 SkyPop - 美國 Sonix Network - 美國 The Astonishing Tribe - 瑞典 Wind River Systems(風河)- 美國
編輯本段使用品牌
大事記
2008年9月22日,美國運營商德國T-Mobile在紐約正式發布第一款Android手機——T-Mobile G1。該款手機為台灣宏達電子(HTC)代工製造,是世界上第一部使用Android操作系統的手機,支持WCDMA/HSPA網路,理論下載速率7.2Mbps,並支持Wi-Fi。 2009年10月28日正式發布了Android 2.0 智能手機操作系統。 2010年1月索尼愛立信首款Android機型X10上市 。 2010年1月7日,Google在其美國總部正式向外界發布了旗下首款合作品牌手機Nexus One(HTC G5),並同時開始對外發售。 2010年7月9日,美國NDP集團調查顯示,Android系統已佔據了美國移動系統市場28%的份額。 北京時間2011年3月25日,據國外媒體報道,谷歌周四表示,谷歌暫停開源Android3.0,並將暫時阻止小型手機生產商使用其Android 3.0「Honeycomb」系統,期限未定。 谷歌一位發言人通過電子郵件聲明稱,Honeycomb是專為平板電腦而非手機設計的,在該系統以開源形式發布前,還有很多工作要做。谷歌向《商業周刊》表示,推遲發布可能達數月之久。
國內品牌
HTC 安卓手機(5張)魅族 魅族M9為一款多點觸摸手機,於2010年12月16日發布,2011年1月1日正式上市。 J.wong在論壇發帖確定魅族M9將不能刷原生的Android系統,M9將不是簡簡單單的在Android系統上加個UI,而是深層定製安卓系統,現有的Android軟體的兼容性也絕對不是問題。J.wong甚至表態想刷Android系統的安卓控們請遠離M9。J.wong表示魅族M9的系統雖然內核採用Android內核,但從UI和用戶體驗方面完全看不出任何安卓的影子,使用Android內核只是為了能兼容數以十萬計的安卓軟體,增強魅族M9的軟體擴展性,讓M8之前一直被詬病的軟體數量成為歷史。 天語 天語W700是K-Touch天語手機在2011年初推出的一款WCDMA制式3G Android智能手機,同時,它還是第一款國產雙核手機。這款採用了NVIDIA TEGRA2平台的高端智能手機首次發布在位於拉斯維加斯的CES2011展會上亮相。 天語W700採用基於ARM Cortex-A9 Dual Core的Tegra2 AP20H處理器,主頻為1GHz,具有高性能低功耗的特點,它集成了高清視頻處理器、圖像處理器、音頻處理器等眾多模塊的高度整合處理器。 聯想 OMS和T-mobile G1搭載的Android(以最初上市版本為主)的不同之處就是可以使用戶自行關閉正在運行的程序而不是由系統控制:按住屏幕上方向下拖動即可看到任務管理器。 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版本。 中興 中興最近也大力發展android手機,推出了v880。 海爾 海爾的產品也青睞搭載android系統。海爾於09年上市的H7採用直板全觸屏設計,操作系統上正是採用了最新的Google Android2.0操作系統。 海爾於2011年7月亮相青島國際消費電子博覽會的haipad,搭載創新工場家族「點心os」首款為PAD定製的「點心—互聯網智能手持終端解決方案」。 華禹 xPhone是由上海禹華通信技術有限公司設計的,採用類iphone的觸控設計,配置了3寸WQVGA解析度的觸摸屏,內建300W像素的攝像頭,搭載Android平台,採用主頻 624Mhz的Marvell PXA-310處理器,擁有128MB SDRAM+256MB ROM的內存配置,支持最大16GB的存儲卡擴展,給出的參數中還加入了WiFi功能。 琦基 去年11月27日,琦基發布了全球首款Google Android/Windows Mobile雙操作系統的智能手機琦基i6,採用Google Android操作系統的叫做琦基i6 goal,採用Windows Mobile操作系統的叫做琦基i6 Win。 藍魔 藍魔的V系列MP4以及平板電腦採用安卓系統。 酷派 推出D539等多款搭載Android平台的3G商務機型 小米 小米手機是小米公司(全稱北京小米科技有限責任公司)研發的一款高性能發燒級智能手機。手機預計2011年8月發布,售價1999元,主要針對手機發燒友,採用線上銷售模式。小米手機使用了高通Snapdragon S3 MSM8260手機處理器,也是世界上首款雙核1.5GHz的智能手機。
國外品牌
三星、LG、摩托羅拉、夏普、索尼愛立信
編輯本段系統架構
應用程序
Android以Java為編程語言,從介面到功能,都有層出不窮的變化,其中Activity等同於J2ME的MIDlet,一個 Activity 類(class)負責創建視窗(window),一個活動中的Activity就是在 foreground(前景)模式,背景運行的程序叫做Service。兩者之間通過由ServiceConnection和AIDL連結,達到復數程序同時運行的效果。如果運行中的 Activity 全部畫面被其他 Activity 取代時,該 Activity 便被停止(stopped),甚至被系統清除(kill)。 View等同於J2ME的Displayable,程序人員可以通過 View 類與「XML layout」檔將UI放置在視窗上,Android 1.5的版本可以利用 View 打造出所謂的 Widgets,其實Widget只是View的一種,所以可以使用xml來設計layout,HTC的Android Hero手機即含有大量的widget。至於ViewGroup 是各種layout 的基礎抽象類(abstract class),ViewGroup之內還可以有ViewGroup。View的構造函數不需要再Activity中調用,但是Displayable的是必須的,在Activity 中,要通過findViewById()來從XML 中取得View,Android的View類的顯示很大程度上是從XML中讀取的。View 與事件(event)息息相關,兩者之間通過Listener 結合在一起,每一個View都可以注冊一個event listener,例如:當View要處理用戶觸碰(touch)的事件時,就要向Android框架注冊View.OnClickListener。另外還有Image等同於J2ME的BitMap。
中介軟體
操作系統與應用程序的溝通橋梁,應用分為兩層:函數層(Library)和虛擬機(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同時包含了Webkit,所謂的Webkit 就是Apple Safari 瀏覽器背後的引擎。Surface flinger 是就2D或3D的內容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自製的Bionic Libc。 Android採用OpenCORE作為基礎多媒體框架。OpenCORE可分7大塊:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。 Android 使用skia 為核心圖形引擎,搭配OpenGL/ES。skia與Linux Cairo功能相當,但相較於Linux Cairo, skia 功能還只是雛形的。2005年Skia公司被Google收購,2007年初,Skia GL源碼被公開,目前Skia 也是Google Chrome 的圖形引擎。 Android的多媒體資料庫採用SQLite資料庫系統。資料庫又分為共用資料庫及私用資料庫。用戶可通過ContentResolver類(Column)取得共用資料庫。 Android的中間層多以Java 實現,並且採用特殊的Dalvik 虛擬機(Dalvik Virtual Machine)。Dalvik虛擬機是一種「暫存器型態」(Register Based)的Java虛擬機,變數皆存放於暫存器中,虛擬機的指令相對減少。 Dalvik虛擬機可以有多個實例(instance), 每個Android應用程序都用一個自屬的Dalvik虛擬機來運行,讓系統在運行程序時可達到優化。Dalvik 虛擬機並非運行Java位元組碼(Bytecode),而是運行一種稱為.dex格式的文件。
硬體抽像層
Android 的 HAL(硬體抽像層)是能以封閉源碼形式提供硬體驅動模塊。HAL 的目的是為了把 Android framework 與 Linux kernel 隔開,讓 Android 不至過度依賴 Linux kernel,以達成 kernel independent 的概念,也讓 Android framework 的開發能在不考量驅動程序實現的前提下進行發展。 HAL stub 是一種代理人(proxy)的概念,stub 是以 *.so 檔的形式存在。Stub 向 HAL「提供」操作函數(operations),並由 Android runtime 向 HAL 取得 stub 的 operations,再 callback 這些操作函數。HAL 里包含了許多的 stub(代理人)。Runtime 只要說明「類型」,即 mole ID,就可以取得操作函數。
編程語言
Android 是運行於 Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux 里支持的功能,Android 大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 為了達到商業應用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程序移到 userspace,使得Linux driver 與 Linux kernel徹底分開。bionic/libc/kernel/ 並非標準的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所產生的,這樣做是為了保留常數、數據結構與宏。 目前Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Management),程序管理(Process Management),網路堆棧(Network Stack),驅動程序模型(Driver Model)等。下載Android源碼之前,先要安裝其構建工具 Repo來初始化源碼。Repo 是 Android 用來輔助Git工作的一個工具。
安全與許可權
Android本身是一個許可權分立的操作系統。在這類操作系統中,每個應用都以唯一的一個系統識別身份運行(Linux用戶ID與群組ID)。系統的各部分也分別使用各自獨立的識別方式。Linux就是這樣將應用與應用,應用與系統隔離開。 系統更多的安全功能通過許可權機制提供。許可權可以限制某個特定進程的特定操作,也可以限制每個URI許可權對特定數據段的訪問。 Android安全架構的核心設計思想是,在默認設置下,所有應用都沒有許可權對其他應用、系統或用戶進行較大影響的操作。這其中包括讀寫用戶隱私數據(聯系人或電子郵件),讀寫其他應用文件,訪問網路或阻止設備待機等。 安裝應用時,在檢查程序簽名提及的許可權,且經過用戶確認後,軟體包安裝器會給予應用許可權。從用戶角度看,一款Android應用通常會要求如下的許可權: 撥打電話、發送簡訊或彩信、修改/刪除SD卡上的內容、讀取聯系人信息、讀取日程信息,寫入日程數據、讀取電話狀態或識別碼、精確的(基於GPS)地理位置、模糊的(基於網路獲取)地理位置、創建藍牙連接、對互聯網的完全訪問、查看網路狀態,查看WiFi狀態、避免手機待機、修改系統全局設置、讀取同步設定、開機自啟動、重啟其他應用、終止運行中的應用、設定偏好應用、震動控制、拍攝圖片等。 一款應用應該根據自身提供的功能,要求合理的許可權。用戶也可以分析一款應用所需許可權,從而簡單判定這款應用是否安全。如一款應用是不帶廣告的單機版,也沒有任何附加內容需要下載,那麼它要求訪問網路的許可權就比較可疑。
Ⅶ 安卓來源2d游戲引擎哪個好
Android開源游戲引擎是Android游戲開發的基礎,選擇一個好的Android游戲開發的引擎能讓更好的來開發游戲,下面就簡紹幾個Android開源游戲引擎。 1、Angle Angle是一款專為Android平台設計的,敏捷且適合快速開發的2D游戲引擎,基於OpenGL ES技術開發。該引擎全部用Java代碼編寫,並且可以根據自己的需要替換裡面的實現,缺陷在於文檔不足,而且下載的代碼中僅僅包含有少量的示例教程。 2、Rokon rokon是一款Android 2D游戲引擎,基於OpenGL ES技術開發,物理引擎為Box2D,因此能夠實現一些較為復雜的物理效果,該項目最新版本為 2.0.3 (09/07/10)。總體來說,此引擎最大的優點在於其開發文檔相當之完備,並且項目作者對反饋Bug的修正非常之神速,所以該框架的使用在目前也最為 廣泛,有人乾脆將它稱為Cocos2d-iPhone引擎的Android版(業務邏輯和編碼風格上也確實很像)。附帶一提,國內某個需要注冊會員才能下 載的Android游戲框架衍生於此框架,所以大家也不要刻板的認為收費便一定是好的,免費就一定不好,最低運行環境要求為Android 1.5。 3、LGame LGame是一款國人開發的Java游戲引擎,有Android及PC(J2SE)兩個開發版本,目前最高版本同為0.2.6(31/07/10)。其底 層繪圖器LGrpaphics封裝有J2SE以及J2ME提供的全部Graphics API(PC版採用Graphics2D封裝,Android版採用Canvas模擬實現),所以能夠將J2SE或J2ME開發經驗直接套用其中,兩版本 間主要代碼能夠相互移植。Android版內置有Admob介面,可以不必配置XML直接硬編碼Admob廣告信息。 該引擎除了基本的音效、圖形、物理、精靈等常用組件以外,也內置有Ioc、xml、http等常用Java組件的封裝,代價是jar體積較為龐大,PC版 已突破1.2MB,Android版有所簡化也在500KB左右。此外,該引擎還內置有按照1:1實現的J2ME精靈類及相關組件,可以將絕大多數 J2ME游戲平移到Android或PC版中。唯一遺憾的是,該項目作者是個極其懶惰的傢伙,開發文檔從去年說到今年依舊沒有提供,只有游戲示例可供下 載。 4、jPCT jPCT是一款基於OpenGL技術開發的3D圖形引擎(PC環境為標准OpenGL,Android為OpenGL ES), 以Java語言為基礎的,擁有功能強大的Java 3D解決方案。該引擎與LGame(此為2D游戲引擎)相類似,目前擁有PC(J2SE)以及Android兩個開發版本。 jPCT的最大優勢之一,就在於它驚人的向下兼容性。在PC環境中,jPCT甚至可以運行在JVM1.1環境之中,因為jPCT內部提供的圖形渲染介面完 全符合所有的Java 1.1規范(就連已經消失的Microsoft VM乃至更古老的Netscape 4 VM也不例外)。 5、Catcake Catcake是一款跨平台的Java 3D圖形引擎,目前支持PC(J2SE)及Android環境運行(已有iPhone版規劃)。該引擎在易用性和運行性能上皆有出色的表現,支持常見的游戲開發功能,諸如精靈動畫,音頻處理和視頻播放等。 當然還有其他的Android開源游戲引擎,也許更好。
Ⅷ Android 平台有哪些好的游戲引擎
Android開源游戲引擎是Android游戲開發的基礎,選擇一個好的Android游戲開發的引擎能讓更好的來開發游戲,下面就簡紹幾個Android開源游戲引擎。 1、Angle Angle是一款專為Android平台設計的,敏捷且適合快速開發的2D游戲引擎,基於OpenGL ES技術開發。該引擎全部用Java代碼編寫,並且可以根據自己的需要替換裡面的實現,缺陷在於文檔不足,而且下載的代碼中僅僅包含有少量的示例教程。 2、Rokon rokon是一款Android 2D游戲引擎,基於OpenGL ES技術開發,物理引擎為Box2D,因此能夠實現一些較為復雜的物理效果,該項目最新版本為 2.0.3 (09/07/10)。總體來說,此引擎最大的優點在於其開發文檔相當之完備,並且項目作者對反饋Bug的修正非常之神速,所以該框架的使用在目前也最為 廣泛,有人乾脆將它稱為Cocos2d-iPhone引擎的Android版(業務邏輯和編碼風格上也確實很像)。附帶一提,國內某個需要注冊會員才能下 載的Android游戲框架衍生於此框架,所以大家也不要刻板的認為收費便一定是好的,免費就一定不好,最低運行環境要求為Android 1.5。 3、LGame LGame是一款國人開發的Java游戲引擎,有Android及PC(J2SE)兩個開發版本,目前最高版本同為0.2.6(31/07/10)。其底 層繪圖器LGrpaphics封裝有J2SE以及J2ME提供的全部Graphics API(PC版採用Graphics2D封裝,Android版採用Canvas模擬實現),所以能夠將J2SE或J2ME開發經驗直接套用其中,兩版本 間主要代碼能夠相互移植。Android版內置有Admob介面,可以不必配置XML直接硬編碼Admob廣告信息。 該引擎除了基本的音效、圖形、物理、精靈等常用組件以外,也內置有Ioc、xml、http等常用Java組件的封裝,代價是jar體積較為龐大,PC版 已突破1.2MB,Android版有所簡化也在500KB左右。此外,該引擎還內置有按照1:1實現的J2ME精靈類及相關組件,可以將絕大多數 J2ME游戲平移到Android或PC版中。唯一遺憾的是,該項目作者是個極其懶惰的傢伙,開發文檔從去年說到今年依舊沒有提供,只有游戲示例可供下 載。 4、jPCT jPCT是一款基於OpenGL技術開發的3D圖形引擎(PC環境為標准OpenGL,Android為OpenGL ES), 以Java語言為基礎的,擁有功能強大的Java 3D解決方案。該引擎與LGame(此為2D游戲引擎)相類似,目前擁有PC(J2SE)以及Android兩個開發版本。 jPCT的最大優勢之一,就在於它驚人的向下兼容性。在PC環境中,jPCT甚至可以運行在JVM1.1環境之中,因為jPCT內部提供的圖形渲染介面完 全符合所有的Java 1.1規范(就連已經消失的Microsoft VM乃至更古老的Netscape 4 VM也不例外)。 5、Catcake Catcake是一款跨平台的Java 3D圖形引擎,目前支持PC(J2SE)及Android環境運行(已有iPhone版規劃)。該引擎在易用性和運行性能上皆有出色的表現,支持常見的游戲開發功能,諸如精靈動畫,音頻處理和視頻播放等。 當然還有其他的Android開源游戲引擎,也許更好。
Ⅸ 什麼是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。
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),或稱為「軟體迭層架構」,迭層主要分成三層:操作系統、中間件、應用程序。
(10)android圖形引擎擴展閱讀
開發人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
隱藏在每個應用後面的是一系列的服務和系統,其中包括;
豐富而又可擴展的視圖(Views),可以用來構建應用程序,它包括列表(lists),網格(grids),文本框(textBoxes),按鈕(buttons),甚至可嵌入的web瀏覽器。
內容提供器(ContentProviders)使得應用程序可以訪問另一個應用程序的數據(如聯系人資料庫),或者共享它們自己的數據
資源管理器(ResourceManager)提供非代碼資源的訪問,如本地字元串,圖形,和布局文件(layoutfiles)。
通知管理器(NotificationManager)使得應用程序可以在狀態欄中顯示自定義的提示信息。
活動管理器(ActivityManager)用來管理應用程序生命周期並提供常用的導航回退功能。