① 安卓架構中最底層是哪個
android系統構架是安卓系統的體系結構,android的系統架構和其操作系統一樣,採用了分層的架構,共分為四層,從高到低分別是Android應用層,Android應用框架層,Android系統運行庫層和linux內核層。
Android系統構架主要應用於ARM平台,但不僅限於ARM,通過編譯控制,在X86、MAC等體系結構的機器上同樣可以運行。
中文名
安卓系統構架
外文名
Android systematic framework
Android系統架構分為四層架構,從高到低分別是應用層,應用框架層,系統運行層和Linux內核層。
Android系統體系結構
1.應用層
Android會同一系列核心應用程序包一起發布,該應用程序包包括email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。它們一般都是使用java進行編寫。
2.應用框架層
開發人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
② 一般的android開發都用到了系統架構哪些層
1:android分為四個層,從高層到低層分別是應用程式層、應用程式框架層
開發一個程式,android系統框架是層層相扣,不能分開的。 應用程式層: 這個層主要指的就是用java語言編寫的執行在虛擬機器上的程式,Google在最開始時就 在android系統中捆綁了一些核心的應用(核心應用的編寫必須使用應用層序框架層的API框架.
2:android 開發框架有四個層,從高層到低層分別是應用程式層、應用程式框架層
android應用開發框架是 Application Framework. 其系統架構由5部分組成,分別是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。
開發什麼應用?
硬體還是軟體?
硬體的話,看看這個:
:m2m.temolin./doc/62/m100wu-lian-mo-kuai
軟體的話,看看這個:
:jb51./article/51052.htm
對於作業系統來言,不存在C/S,B/S一說。
java的確執行效率不如C/C++,但任何開發語言都有其各種特點,有缺點必有優點,否而只能被淘汰。
java有很多過人之處,要不然android也不會看上java作為其應用層的開發語言。
android相比IOS,的確存在距離,但我始終相信以LINUX為核心的android在幾百萬開發者的磨練下,將會越來越完美,「開源」永遠值得人們去琢磨,精益求精!
Solaris支援多種系統架構: SPARC, x86 and x64. x64即AMD64及EMT64處理器。在版本2.5.1的時候,Solaris曾經一度被移植到PowerPC架構, 但是後來又在這一版本正式釋出時被刪去。與Linux相比,Solaris可以更有效地支援對稱多處理器、即SMP架構。Sun同時宣布將在Solaris 10的後續版本中提供Linux執行環境, 允許Linux二進位製程式直接在Solaris x86和x64系統上執行。
Solaris傳統上與基於Sun SPARC處理器的硬體體系結構結合緊密, 在設計上和市場上經常捆綁在一起,整個軟硬體系統的可靠性和效能也因此大大增強。然而SPARC系統的成本和價格通常要高於PC類的產品,這成為Solaris進一步普及的障礙。可喜的是,Solaris對x86體系結構的支援正得到大大加強,特別是Solaris 10已經能很好地支援x64(AMD64/EMT64)架構。Sun公司已推出自行設計的基於AMD64的工作站和伺服器,並隨機附帶Solaris 10。
dalvik是執行的時候編譯+執行,安裝比較快,開啟應用比較慢,應用佔用空間小
ART是安裝的時候就編譯好了,執行的時候直接就可以執行的,安裝慢,開啟應用快,佔用空間大
用個比喻來說就是,騎腳踏車
dalvik 是已經摺疊起來的腳踏車,每次騎都要先組裝腳踏車才能騎
ART 是已經組裝好的腳踏車,每次騎直接上車就能走人
系統架構屬於系統設計階段,系統架構圖只是這個階段一個產物,要正確的、合理的畫系統架構圖需要全面的理解使用者需求以及業務流程,當理解了這些東西後,剩下的就是如何進行表達了,一般而言,可以參照RUP的用例驅動來進行邏輯架構,開發架構等設計工作,你稿春的系統架構圖可以反應在各個視圖裡面,我估計你所說的系統架構圖是屬於邏輯架構裡面,比鍵枝如分多少層,每層分多少模組等。
至於,繪制的工具,有很多很多。可以選擇微軟的visio,或者EA,rose,power designer等UML建模工具,當然,你甚至可以用PPT,Word來繪制。
當然,系統架構不是一日之功,需長期努力,跟經驗和技術都有很大關系。
今天興致來了,回復了這么多,不知滿意不。
我不是高人,也談不上指點,我只是一個很普通的程式碼工人發表一下自己的看法哈~~
一個activity上多個surfaceview切換的做法是做游戲開發的,現在市面上大多數游戲都是採用的這種做法,並沒有什麼不妥,surfaceview使得畫面更自由,拿到canvas後就不局限於安桌提供的控制元件了,純自由發揮,各種游戲特效表現得更精彩。只是切換surfaceview時稍微麻煩點,需要寫程式碼來手動判斷游戲狀態和控制切換。
如果你只是做普通的應用,安桌提供的控制元件能滿足你的需求,你就用普通的activity唄。用surfaceview多麻煩啊。把切換丟給系統來管理,省去不少事兒。如果你願意麻煩,使用surfaceview來相互手動切換,也沒什麼問題的,放心去做吧。畢竟記憶體管理機制用的是JАVΑ的那一套,自動回收,用哪種架構都差別不大。
個人拙見,手動拼音打字,非ctrl+c/ctrl+v之流。望諸位看官別笑話俺哈~~
一個好的IT架構師,眼光不會僅僅停留在寫程式碼的層次上,在做開發的時間里,他們會積極學習各種知識,經驗,培養自己的商業頭腦,包括擴充套件自己各方面的資源,這些積累會為他們未來成為管理者或創業打下牢固的基礎。
對於學習來說我們都是希望可以全面綜合的掌握技術,這樣才有助於你今後的整體發展。目前企業需要的不再是理論型人才了,而是實用技能型人才。
首先我們需要全面掌握專業實用的技術,其次加強個人整體素質的提升,這樣才能符合目前企業的用人需求。如果我們選擇了單科學習無疑是在起跑線上局限了我們的個人發展,或許短期內你覺得只是需要某項單獨的技術,但是你有沒有想過今後你不可能一直從事底層的程式設計師,看著和你同意時間進入公司的同事雖然技術和你不相上下,但是由於掌握的比較全面而被提升為專案主管、專案經理,或許到那個時候你又要為此再一次走進培訓機構,這樣也是耽誤你個人的時間和精力,我相信你也希望自己今後可以步入管理層工作,有一個更好的發展。最好 是 掌握全面的技術,資料庫,JAVA.NET.客戶端技術。
就我接觸到的說一下,我第一家公司專案比較小型是 springmvc + spring + hibernate (也有mabatis的) ,第二家公司,專案是大型的,所以好多是分散式的框架,spring、spring integration、bbo、zookeeper、redis、mybatis等都有用到
JDE屬於分散式架構,人和系統恕我孤陋寡聞,沒聽過阿
③ Android鎵嬫満搴旂敤寮鍙戜竴鑸閲囩敤浠涔堟嗘灦_瀹夊崜妗嗘灦鏄浠涔
android搴旂敤寮鍙戞嗘灦鏄疉pplicationFramework.鍏剁郴緇熸灦鏋勭敱5閮ㄥ垎緇勬垚錛屽垎鍒鏄錛歀inuxKernel銆丄ndroidRuntime銆丩ibraries銆丄pplicationFramework銆併傜浜岄儴鍒嗗皢璇︾粏浠嬬粛榪5涓閮ㄥ垎銆備笅闈㈣嚜搴曞悜涓婂垎鏋愬悇灞傘
Android鏋舵瀯
1銆丩inuxKernelAndroid
鍩轟簬Linux2.6鎻愪緵鏍稿績緋葷粺鏈嶅姟錛屼緥濡傦細瀹夊叏銆佸唴瀛樼$悊銆佽繘紼嬬$悊銆佺綉緇滃爢鏍堛侀┍鍔ㄦā鍨嬨侺inux
Kernel涔熶綔涓虹‖浠跺拰杞浠朵箣闂寸殑鎶借薄灞傦紝瀹冮殣鈃忓叿浣撶‖浠剁粏鑺傝屼負涓婂眰鎻愪緵緇熶竴鐨勬湇鍔°
濡傛灉浣犲﹁繃璁$畻鏈虹綉緇滅煡閬揙SI/RM錛屽氨浼氱煡閬撳垎灞傜殑濂藉勫氨鏄浣跨敤涓嬪眰鎻愪緵鐨勬湇鍔¤屼負涓婂眰鎻愪緵緇熶竴鐨勬湇鍔★紝灞忚斀鏈灞傚強浠ヤ笅灞傜殑宸寮傦紝褰撴湰灞傚強浠ヤ笅灞傚彂鐢
浜嗗彉鍖栦笉浼氬獎鍝嶅埌涓婂眰銆備篃灝辨槸璇村悇灞傚悇灝藉叾鑱岋紝鍚勫眰鎻愪緵鍥哄畾鐨凷AP錛圫erviceAessPoint錛夛紝涓撲笟鐐瑰彲浠ヨ存槸楂樺唴鑱氥佷綆鑰﹀悎銆
濡傛灉浣犲彧鏄鍋氬簲鐢ㄥ紑鍙戱紝灝變笉闇瑕佹繁鍏ヤ簡瑙LinuxKernel灞傘
2銆丄ndroidRuntimeAndroid
鍖呭惈涓涓鏍稿績搴撶殑闆嗗悎錛屾彁渚涘ぇ閮ㄥ垎鍦↗ava緙栫▼璇璦鏍稿績綾誨簱涓鍙鐢ㄧ殑鍔熻兘銆傛瘡涓涓獮ndroid搴旂敤紼嬪簭鏄疍alvik鉶氭嫙鏈轟腑鐨勫疄渚嬶紝榪愯屽湪浠栦滑鑷宸
鐨勮繘紼嬩腑銆侱alvik鉶氭嫙鏈鴻捐℃垚錛屽湪涓涓璁懼囧彲浠ラ珮鏁堝湴榪愯屽氫釜鉶氭嫙鏈恆侱alvik鉶氭嫙鏈哄彲鎵ц屾枃浠舵牸寮忔槸.dex錛宒ex鏍煎紡鏄涓撲負Dalvik
璁捐$殑涓縐嶅帇緙╂牸寮忥紝閫傚悎鍐呭瓨鍜屽勭悊鍣ㄩ熷害鏈夐檺鐨勭郴緇熴
澶у氭暟鉶氭嫙鏈哄寘鎷琂VM閮芥槸鍩轟簬鏍堢殑錛岃孌alvik鉶氭嫙鏈哄垯鏄鍩轟簬瀵勫瓨鍣ㄧ殑銆備袱縐嶆灦鏋勫悇鏈変紭鍔o紝涓鑸鑰岃█錛屽熀浜庢爤鐨勬満鍣ㄩ渶瑕佹洿澶氭寚浠わ紝鑰屽熀浜庡瘎瀛樺櫒鐨勬満
鍣ㄦ寚浠ゆ洿澶с俤x鏄涓濂楀伐鍏鳳紝鍙浠ュ皢Java.class杞鎹㈡垚.dex
鏍煎紡銆備竴涓猟ex鏂囦歡閫氬父浼氭湁澶氫釜.class銆傜敱浜巇ex鏈夋椂蹇呴』榪涜屾渶浣沖寲錛屼細浣挎枃浠跺ぇ灝忓炲姞1-4鍊嶏紝浠ODEX緇撳熬銆
Dalvik鉶氭嫙鏈轟緷璧栦簬Linux鍐呮牳鎻愪緵鍩烘湰鍔熻兘錛屽傜嚎紼嬪拰搴曞眰鍐呭瓨綆$悊銆
3銆丩ibrariesAndroid
鍖呭惈涓涓狢/C搴撶殑闆嗗悎錛屼緵Android緋葷粺鐨勫悇涓緇勪歡浣跨敤銆傝繖浜涘姛鑳介氳繃Android鐨勫簲鐢ㄧ▼搴忔嗘灦錛坅pplication
framework錛夋毚闇茬粰寮鍙戣呫備笅闈㈠垪鍑轟竴浜涙牳蹇冨簱錛氱郴緇烠搴--鏍囧噯C緋葷粺搴擄紙libc錛夌殑BSD琛嶇敓錛岃皟鏁翠負鍩轟簬宓屽叆寮廘inux璁懼
濯掍綋搴--鍩轟簬PacketVideo鐨凮penCORE銆傝繖浜涘簱鏀鎸佹挱鏀懼拰褰曞埗璁稿氭祦琛岀殑闊抽戝拰瑙嗛戞牸寮忥紝浠ュ強闈欐佸浘鍍忔枃浠訛紝鍖呮嫭MPEG4銆
H.264銆丮P3銆丄AC銆丄MR銆丣PG銆丳NG鐣岄潰綆$悊--綆$悊璁塊棶鏄劇ず瀛愮郴緇熷拰鏃犵紳緇勫悎澶氫釜搴旂敤紼嬪簭鐨勪簩緇村拰涓夌淮鍥懼艦灞
LibWebCore--鏂板紡鐨刉eb嫻忚堝櫒寮曟搸,椹卞姩Android嫻忚堝櫒鍜屽唴宓岀殑web瑙嗗浘SGL--鍩烘湰鐨2D鍥懼艦寮曟搸
3D搴--鍩轟簬OpenGLES1.0APIs鐨勫疄鐜般傚簱浣跨敤紜浠3D鍔犻熸垨鍖呭惈楂樺害浼樺寲鐨3D杞浠跺厜鏍匜reeType
--浣嶅浘鍜岀煝閲忓瓧浣撴覆鏌揝QLite--鎵鏈夊簲鐢ㄧ▼搴忛兘鍙浠ヤ嬌鐢ㄧ殑寮哄ぇ鑰岃交閲忕駭鐨勫叧緋繪暟鎹搴撳紩鎿
4銆丄pplicationFramework
閫氳繃鎻愪緵寮鏀劇殑寮鍙戝鉤鍙幫紝Android浣垮紑鍙戣呰兘澶熺紪鍒舵瀬鍏朵赴瀵屽拰鏂伴栫殑搴旂敤紼嬪簭銆傚紑鍙戣呭彲浠ヨ嚜鐢卞湴鍒╃敤璁懼囩‖浠朵紭鍔褲佽塊棶浣嶇疆淇℃伅銆佽繍琛屽悗鍙版湇鍔°佽劇疆闂歸挓銆佸悜鐘舵佹爮娣誨姞閫氱煡絳夌瓑錛屽緢澶氬緢澶氥傚紑鍙戣呭彲浠ュ畬鍏ㄤ嬌鐢ㄦ牳蹇冨簲鐢ㄧ▼搴忔墍浣跨敤鐨勬嗘灦APIs銆傚簲鐢ㄧ▼搴忕殑浣撶郴緇撴瀯鏃ㄥ湪綆鍖栫粍浠剁殑閲嶇敤錛屼換浣曞簲鐢ㄧ▼搴忛兘鑳藉彂甯冧粬鐨勫姛鑳戒笖浠諱綍鍏朵粬搴旂敤紼嬪簭鍙浠ヤ嬌鐢ㄨ繖浜涘姛鑳斤紙闇瑕佹湇浠庢嗘灦鎵ц岀殑瀹夊叏闄愬埗錛夈傝繖涓鏈哄埗鍏佽哥敤鎴鋒浛鎹㈢粍浠躲傛墍鏈夌殑搴旂敤紼嬪簭鍏跺疄鏄涓緇勬湇鍔″拰緋葷粺錛屽寘鎷錛氳嗗浘錛圴iew錛--涓板瘜鐨勩佸彲鎵╁睍鐨勮嗗浘闆嗗悎錛屽彲鐢ㄤ簬鏋勫緩涓涓搴旂敤紼嬪簭銆傚寘鎷鍖呮嫭鍒楄〃銆佺綉鏍箋佹枃鏈妗嗐佹寜閽錛岀敋鑷蟲槸鍐呭祵鐨勭綉欏墊祻瑙堝櫒鍐呭規彁渚涜咃紙ContentProviders錛--浣垮簲鐢ㄧ▼搴忚兘璁塊棶鍏朵粬搴旂敤紼嬪簭錛堝傞氳褰曪級鐨勬暟鎹錛屾垨鍏變韓鑷宸辯殑鏁版嵁璧勬簮綆$悊鍣錛圧esourceManager錛--鎻愪緵璁塊棶闈炰唬鐮佽祫婧愶紝濡傛湰鍦板寲瀛楃︿覆銆佸浘褰㈠拰甯冨矓鏂囦歡閫氱煡綆$悊鍣錛圡anager錛--浣挎墍鏈夌殑搴旂敤紼嬪簭鑳藉熷湪鐘舵佹爮鏄劇ず鑷瀹氫箟璀﹀憡媧誨姩綆$悊鍣錛圓ctivityManager錛--綆$悊搴旂敤紼嬪簭鐢熷懡鍛ㄦ湡,鎻愪緵閫氱敤鐨勫艱埅鍥為鍔熻兘
5銆丄ndroid瑁呴厤涓涓鏍稿績搴旂敤紼嬪簭闆嗗悎錛屽寘鎷鐢靛瓙閭浠跺㈡埛絝銆丼MS紼嬪簭銆佹棩鍘嗐佸湴鍥俱佹祻瑙堝櫒銆佽仈緋諱漢鍜屽叾浠栬劇疆銆傛墍鏈夊簲鐢ㄧ▼搴忛兘鏄鐢↗ava緙栫▼璇璦鍐欑殑銆傛洿鍔犱赴瀵岀殑搴旂敤紼嬪簭鏈夊緟鎴戜滑鍘誨紑鍙戱紒浠庝笂闈㈡垜浠鐭ラ亾Android鐨勬灦鏋勬槸鍒嗗眰鐨勶紝闈炲父娓呮櫚錛屽垎宸ュ緢鏄庣『銆侫ndroid鏈韜鏄涓濂楄蔣浠跺爢榪(Softwaretack)錛屾垨縐頒負銆岃蔣浠惰凱灞傛灦鏋勩嶏紝榪灞備富瑕佸垎鎴愪笁灞傦細鎿嶄綔緋葷粺銆佷腑闂翠歡銆佸簲鐢ㄧ▼搴忋備粠涓婇潰鎴戜滑涔熺湅鍒頒簡寮婧愮殑鍔涢噺錛屼竴涓涓鐔熸倝鐨勫紑婧愯蔣浠跺湪榪欓噷璐$尞浜嗚嚜宸辯殑涓浠藉姏閲忋
④ Android 平台設計規范有哪些
眾所周知,安卓系統是開源的,國內又有超多的手機廠商,小米、魅族、華為、oppo、三星等,每一個品牌有屬於自己的UI設計規范,但是我們主要分析UI界面尺寸規范。
1、字體
安卓系統中文採用的是思源黑體,英文字體為robot字體。
只使用偶數單位 24 pt,28 pt,36 pt等字體大小
2、mdpi、hdpi、 xhdpi、xxhdpi、xxxhdpi、dp、px到底是什麼意思?
講圖標之前先來分析一下一排英文的意思:
mdpi、hdpi、 xhdpi、xxhdpi、xxxhdpi都是表示的屏幕密度大小,依次數值越大,其解析度越高。常用的是xxhdpi和xxxhdpi。
dp是安卓系統專用的長度單位,設備獨立像素的意思。不同設備有不同的顯示效果,這個和設備硬體有關。多為圖標使用,文字則用sp(放大像素),主要用於字體顯示best for textsize。
px是像素的意思, 不同設備顯示效果相同。
安卓各屏幕密度關系如下:
垂直邊距
①狀態欄:24dp;②工具欄:56dp;③標題和列表項:48dp;④子標題:48dp;⑤內容區域間距離為8dp
6、切圖
上周我們講到iPhone 6與iPhone 6 Plus約是1.5的關系,而xhdpi的Android手機屏幕與xxdpi的屏幕剛好是1.5倍的關系,所以iPhone 6 Plus和xxhdip也可以共用一套切圖,掌握好尺寸關系,能讓工作變得簡單很多。
7、界面適配
安卓多屏幕支持的基礎是它能夠管理應用程序的布局和點陣圖可繪制對象的渲染以適當的方式對當前屏幕配置的能力。該系統處理的大部分工作由布局縮放以適合屏幕尺寸/密度和縮放點陣圖可繪制在屏幕密度正確呈現您的應用程序在每個屏幕的配置,來優化用戶界面設計,帶來更良好的用戶體驗。
如何做到安卓界面適配呢?大家一定要很清楚的了解解析度、屏幕大小、密度的關系;明白實際密度和系統密度的關系,dp、sp、px的區別;明白dp與px的轉換。這里不做過多闡述,後期寫一篇具體的~
安卓的界面規范就講到這里,要明白設計界面規范的意義是確保設計的統一性與合理性,規范維護的是項目的統一,為了項目利益最大化,高效化。所以作為UI設計師的我們,如果一點設計規范不遵守,全靠自己想當然,那就別發給前端人員啦,他也看不懂。
⑤ android中常見的五種布局有什麼特點
1,FrameLayout,特點:所有的View都會放在左上角,並且後添加進去的View會覆蓋之前放進去的View。
2,LinearLayout,特點:在水平或者垂直方向上依次按照順序來排列子元素,控制項的排列順序遵循其在布局文件中被寫出的先後順序。
3,RelativeLayout,特點:以某一個子元素為參照物,其餘子元素均按照其相對位置來完成布局。
4,TableLayout,特點:每個TableLayout都是由一個或多個TableRow組成的,一個TableRow就代表TableLayout的一行。
5,AbsoluteLayout,表格布局類似Html裡面的Table。每一個TableLayout裡面有表格行TableRow,TableRow裡面可以具體定義每一個元素,設定他的對齊方式 android:gravity="" 。
(5)android設計結構擴展閱讀:
開放性:
在優勢方面,Android平台首先就是其開放性,開發的平台允許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可以使其擁有更多的開發者,隨著用戶和應用的日益豐富,一個嶄新的平台也將很快走向成熟。
開放性對於Android的發展而言,有利於積累人氣,這里的人氣包括消費者和廠商,而對於消費者來講,最大的受益正是豐富的軟體資源。開放的平台也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。
豐富的硬體:
這一點還是與Android平台的開放性相關,由於Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產品。功能上的差異和特色,卻不會影響到數據同步、甚至軟體的兼容,如同從諾基亞Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優秀的軟體帶到iPhone上使用、聯系人等資料更是可以方便地轉移。
⑥ 安卓框架有哪些
問題一:Android常用的框架有哪些 Android開發中常用的框架:
1、Afinal
Afinal是一個android的ioc,orm框架,內置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通過finalActivity,可以通過註解的方式進行綁定ui和事孝戚歷件。通過finalBitmap,可以方便的載入bitmap圖片,而無需考慮oom等問題。通過finalDB模塊,一行代碼就可以對android的sqlite資料庫進行增刪改查。通過FinalHttp模塊,以ajax形式請求數據。
2、 xUtils
xUtils:可以說是Afinal的升級版。
xUtils 包含了很多實用的android工具。
xUtils 支持大文件上傳,更全面的請求協議支持(10種謂詞),擁有更加靈活的ORM,更多的事件註解支持且不受混淆影響。
xUitls 最低兼容android 2.2 (api level8)。
3、LoonAndroid
這是一個純實現功能的框架,它的目標是節省代碼量,降低耦合,讓代碼層次看起來更清晰。
4、 KJFrameForAndroid
是一個android的orm 和 ioc 框架。同時封裝了android中的Bitmap與Http操作的框架,使其更加簡單易用;
KJFrameForAndroid的設計思想是通過封裝Android原生SDK中復雜的復雜操作而達到簡化Android應用級開發,最終實現快速而又安全的開發APP。我們提倡用最少的代碼,完成最多的操作,用最高的效率,完成最復雜的功能。
項目地址:github/kymjs/KJFrameForAndroid
5、 dhroid
dhroid 是基於android 平台, 極速開發框架,其核心設計目標是開發迅速、代碼量少、學習簡單、功能仔或強大、輕量級、易擴展.使你更快,更好的開發商業級別應用。
6、 SmartAndroid
SmartAndroid是一套給 Android開發者使用的應用程序開發框架和工具包。提供了一套豐富的標准庫以及簡單的介面和邏輯結構,其目的是使開發人員更快速地進行項目開發。使用 SmartAndroid可以減少代碼的編寫量,並將你的精力投入到項目的創造性開發上。
7、 andBase
ndbase是為Android開發者量身打造的一款開源類庫產品
8、 AndroidAnnotations
完全的註解,使開發起來更加便利,程序員寫的代碼也更少。
9、 volley
Volley是Android平台上的網路通信庫,能使網路通信更快,更簡單,更健壯非同步載入網路圖片、網路數據,Google官方推薦。
問題二:安卓軟體開發框架有哪些 安卓軟體開發需要一定的Java基礎,當然少不了Java環境的搭建,還有安卓SDK的環境搭建,接著你下個eclipse裝個ADT插件,或者直接用Android studio就可以開發安卓應用了,具體的建議你找個開發教程
問題三:android有哪些實用框架?分別用來做什麼? Android 目前還沒有那樣成熟的框架可以使用……
只能說有一些開源項目較好地解決了部分方面的問題,例如:
(1)EventBus:解決了模塊之間消息傳遞解耦合的問題
(2)picasso:解決非同步載入圖片和緩存圖片的問題
(3)dagger:一個依賴注入工具庫
……
其他開巧搜源項目大多數解決了部分通用 UI 控制項的問題,不過我看你的意思是架構級別的框架,而不是什麼 UI 控制項這類的小東西。
問題四:什麼是android的框架開發 上圖中的第二層Framework
問題五:常用的android開發框架有哪些 android bootstrap有試用過,但其實不用框架都能完成你想要的功能的話,真心沒必要用。
問題六:Android的系統架構包括哪些部分 Android的系統架構和其操作系統一樣,採用了分層的架構。Android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核層。
一、應用程序
Android會同一系列核心應用程序包一起發布,該應用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。所有的應用程序都是使用JAVA語言編寫的。
二、應用程序框架
開發人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
三、系統運行庫
Android 包含一些C/C++庫,這些庫能被Android系統中不同的組件使用。它們通過 Android 應用程序框架為開發者提供服務。
四、Linux內核層
Android內核是基於Linux 內核的修改的內核版本,它提供了用於支持Android平台的設備驅動。
問題七:android快速開發框架有哪些 ThinkAndroid免費源、簡易、遵循Apache二源協議發布Android發框架其發宗旨簡單、快速進行Android應用程序發包含Android mvc、簡易sqlite orm、ioc模塊、封裝Android clitent模塊,具快速構建文件緩存功能需考慮緩存文件格式都非輕松實現緩存基於文件緩存模塊實現圖片緩存功能android載入圖片候oom問題載入圖片錯位問題都輕易解決包括手機發經應用實用工具類志管理配置文件管理android載器模塊中國絡切換檢測等等工具 目前ThinkAndroid主要模塊: MVC模塊:實現視圖與模型離 ioc模塊:androidioc模塊完全註解式進行UI綁定、res資源讀取、及象初始化 資料庫模塊:androidorm框架使用線程池sqlite進行操作 模塊:通client進行封裝數據請求支持非同步及同步式載入 緩存模塊:通簡單配置及設計實現緩存緩存隨意配置 圖片緩存模塊:imageview載入圖片候需考慮圖片載入程現oomandroid容器快速滑候現圖片錯位等現象 配置器模塊:簡易實現配配置操作目前配置文件支持Preference、Properties配置進行存取 志列印模塊:較快輕易實現志列印支持志列印擴展目前支持sdcard寫入本列印、及控制台列印 載器模塊:簡單實現線程載、台載、斷點續傳、載進行控制、始、暫停、刪除等等 中國絡狀態檢測模塊:中國絡狀態改變中國絡狀態進行檢
問題八:主流android開發框架有哪些 android開發框架github上有非常非常多,各種都是開源的,例如側滑菜單,ImageLoading等等。
問題九:Android 有哪些著名的開源框架呢? 什麼應用才對應什麼所謂框架。你寫個游戲用J2EE的框架試試。或者你寫個搜索引擎用游戲引擎試試。沒有哪個框架解決所有問題,如果那樣,搞計算機也太簡單了,框架拿來,隨便改改就是一個軟體。還是學點設計模式這些基本的有用。
問題十:Android軟體框架結構自可分為哪些層? 開發一個程序,android的系統框架是層層相扣,不能分開的。
應用程序層:
這個層主要指的就是用java語言編寫的運行在虛擬機上的程序,Google在最開始時就 在android系統中捆綁了一些核心的應用(核心應用的編寫必須使用應用層序框架層的API框架),例如你android手機中SMS發送短消息的程序,通訊錄等等。
應用程序框架層:
指的就是開發時所需要的API框架,開發人員是在遵守該框架的原則上,調用他們的,開發自己所需要的程序。
系統運行庫層:
用於支持應用框架層的各個組件的。就是說當開發人員使用android應用框架層時,android系統會通過一些C/C++庫來支持對我們使用的各個組件,使其能更好地為開發者服務。
linux核心層:
android的核心系統服務如安全性、內存管理、進程管理、網路協議棧和驅動模型等都依賴於Linux2.6內核,Linux內核同時也作為硬體和軟體棧之間的抽象層。
因此,你開發的程序是運行在應用程序層,開發中寫代碼調用的包,是基於應用框架層,而在應用框架中的各個組件是需要系統運行庫的支持的,例如,你要登陸查看的信息就必須訪問到SQLite資料庫,SQLite就位於系統運行庫,再有,你登入要輸入信息,肯定需要鍵盤驅動的支持,而各種驅動是依賴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),或稱為「軟體迭層架構」,迭層主要分成三層:操作系統、中間件、應用程序。
(7)android設計結構擴展閱讀
開發人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
隱藏在每個應用後面的是一系列的服務和系統,其中包括;
豐富而又可擴展的視圖(Views),可以用來構建應用程序,它包括列表(lists),網格(grids),文本框(textBoxes),按鈕(buttons),甚至可嵌入的web瀏覽器。
內容提供器(ContentProviders)使得應用程序可以訪問另一個應用程序的數據(如聯系人資料庫),或者共享它們自己的數據
資源管理器(ResourceManager)提供非代碼資源的訪問,如本地字元串,圖形,和布局文件(layoutfiles)。
通知管理器(NotificationManager)使得應用程序可以在狀態欄中顯示自定義的提示信息。
活動管理器(ActivityManager)用來管理應用程序生命周期並提供常用的導航回退功能。
⑧ 請介紹下Android中常用的五種布局,分別的布局方式。謝謝!急
LinearLayout,線性布局
RelativeLayout,相對布局
AbsoluteLayout,絕對布局
FrameLayout,幀布局
TableLayout,表格布局
BorderLayout,
BoxLayout,
CardLayout,
DefaultMenuLayout,
FlowLayout,
GridBagLayout,
GridLayout,
GroupLayout
swing里常用的也有這些,至於每個具體的功能你自己查一下API就可以了。
1、Java初步
Java是由sun公司開發的一種新型的面向物件的程式設計語言,主要用於web頁面的設計。
Java語言的發展頗具傳奇性,它與Inter的的迅猛發展是分不開的。由於其發展迅速,有人將它比喻為Inter上的世界語。前面講到在Inter上Web頁面的設計採用的是HTML語言,使用者藉助於Web瀏覽器(如Netscape,HotJava,IE等),可以訪問到遠端web伺服器上靜態的、具有超連結的Web頁面。Java語言的出現改變了 Web頁面的這種傳統的靜態模式,通過在Web頁面中附加一些利用Java編寫的App1et(稱為小程式),可飢型以使Web頁面更具多樣蠢空性和變化性,這樣使用者就能夠訪問到動態的,具有互動功能的web頁面。
例如一些小的動畫,實時更新的圖表、聲音等。總之,Web頁面的設計主要採用HTML語言,利用Java則使其錦上添花。
Sun公司於1995年5月正式推出Java語言,由於其簡單、高效、可移植性強等特點,一經推出,很快引起廣大使用者和眾多廠商的普遍關注,特別是Sum公司將其定位於Inter的應用開發上,使得Java得以迅速發展。在同期推出的還有被稱為HotJava(熱咖啡)的瀏覽器,Hotjava是一個完全由Java語言編寫,基於Java典型應用的web瀏覽器,並且第一個支援Java Applet。HotJava充分展示了Java在全球Inter網上的強大威力,同時也為Java語言程式設計提供了一個理想的執行平台。
Java語言推出後,各大軟體廠商相繼宣布支援Java。首先是Netscape公司在其Web瀏覽器(Netscape Navigator2.0)中支援Java,不久,sun,SGI和Macromedia三家公司制定了基於Java的開放式多媒體標准。後來許多公司,如IBM,Microsoft,Orac1e等,都宣布支援Java。Netscape公司進一步與sun公司合作,推出了類似於Java的JavaScript語言。目前,Sun公司已成立了專門的Javasoft分部,負責管理Java語言的開發、維護工作(可從Http:Javasoft,站點了解詳細資訊)。
對於Java這一名字,較為流行的說法是它來源於印度尼西亞的一個重要島嶼,該島嶼的中文譯名為"爪哇",島上盛產咖啡,於是sun公司的開發人員將這種新語言起名為Java,寓意是使其與熱氣騰騰的咖啡聯絡起來,將它奉獻給全球的計算機使用者。
2、Java語言的特點
Java語言的流行除了因為它能夠編制嵌入HTML檔案中的Applet外,還在於Java語言本身的面向物件、簡單、平台無關性、安全性、多執行緒等特點。Java語言的結構與編寫方式,與c++語言類似,因此學習Java語言,不僅要了解Java語言獨有的程式設計特點,同時還要有程式設計基礎和面向物件的概念。 <BR>Java語言的主要特點如下:
(1)簡單、高效
Java語言與C++類似,如果使用者了解C++和面向物件的概念,就可以很快編寫出Java程式;此外,Java又不同於諸如C++語言提供的各種各樣的方法,它只提供了基本的方法,這樣就減少了程式設計的復雜性,例如去掉了標頭檔案、指標變數、結構、運運算元過載、多重繼承等復雜特性。Java語言雖然簡單,卻很高效,它可以用面向物件的方法來描述使用者的每一個動作。
(2)面向物件
Java語言是一種新的面向物件的程式設計語言,它除了幾種基本的資料型別外,大都是類似c++中的物件和方法,程式程式碼大多體現了類機制,以類的形式帶肢瞎組織,由類來定義物件的各種行為。Java同樣支援類繼承,這樣也減少了程式設計的復雜性。
(3)平台無關性 Java語言經編譯後生成與計算機硬體結構無關的位元組程式碼(Bytecode),這些位元組程式碼被定義為不依賴任何硬體平台和作業系統。當Java程式在執行時,需要由一個解釋程式對生成的位元組程式碼解釋執行。這體現了Java語言的與平台無關性,使得Java程式可以在任何平台上執行,如MS-DOS,Windows,Unix等,因此具有很強的移植性。
(4)互動式特性
Java是面向物件的網路程式語言,由於它支援TCP/IP協議,使得使用者可以通過瀏覽器訪問到Inter上的各種動態物件。並且在網路上使用者可以互動式地進行各種動作,而多執行緒技術的引入使得這種互動式操作更為容易。
(5)多執行緒機制
Java語言支援多執行緒機制,多執行緒機制使得Java程式能夠並行處理多項任務。Java程式可以設計成具有多個執行緒,例如讓一個執行緒負責資料的檢索、查尋,另一個執行緒與使用者進行互動,這樣,兩個執行緒得以並行執行。多執行緒機制可以很容易地實現網路上的互動式操作。
(6)動態的記憶體管理機制
Java語言採用了自動垃圾回收機制進行記憶體的管理。在C++語言中,程式設計師在編寫程式時要仔細地處理記憶體的使用,例如當某個記憶體快使用完畢時,要及時釋放,以供其它程式使用,一旦記憶體管理不當,就有可能造成記憶體空間浪費或程式執行故障。 <BR>在Java系統中包括了一個自動垃圾回收程式,它可以自動、安全地回收不再使用的記憶體塊,這樣,程式設計師在程式設計時就無需擔心記憶體的管理問題,從而使Java程式的編寫變得簡單,同時也減少了記憶體管理方面出錯的可能性。
(7)安全性
在類似Inter的這種分散式網路環境中,安全性是個不容忽視的問題。Java語言在安全性方面引入了實時記憶體分配及布局來防止程式設計師直接修改實體記憶體布局;通過位元組程式碼驗證器對位元組程式碼的檢驗,以防止網路病毒及其它非法程式碼侵入。此外,Java語言還採用了許多面向物件的異常處理機制,負責對一些異常事件進行處理,如記憶體空間不夠,程式異常中止等的處理。 <BR>以上介紹了Java語言的一些主要特點,除此之外它還具有動態性、類庫豐富、高效能等特點,這些都使得Java語言在各個方面得以成熟和完善,成為大眾日益青睞的程式設計語言之一。
3、Java應用程式和Java AppletJava語言是一種面向物件的程式設計語言,利用Java語言,能夠編寫出兩大類程式:Java應用程式(Application)和Java App1et(小程式):
Java應用程式是由Java語言編寫,在經過編譯和解釋後,可以獨立執行在MS-DOS,UNIX等操作平台上。Java應用程式一般以命令列方式執行。
Java Applet是不能獨立執行的,App1et必須嵌入到HTML檔案中,並且需要啟動瀏覽器才能執行。這樣,指定的Applet會自動下載到使用者的瀏覽器中執行,從而產生一些特殊的頁面效果,如動畫、聲音、圖表、影象等。通過在Web頁面中嵌入Applet,可以使Web頁面與使用者之間進行動態互動,例如接收使用者的輸入,然後根據使用者的需要產生不同的響應。
就Java Applet而言,它是嵌入到HTML檔案中的,HTML檔案呈現的內容大多為文字、圖片、表格、聲音等,但這些內容一般都是靜態的、二維的。但當HTML檔案中嵌有 Applet後,整個頁面會呈現出多樣性和變化性,例如互動功能、圖表等。在運用方面Java語言和HTML語言的區別在於:
(1)HTML語言屬於一種簡單的標記語言,一般使用者均可在數小時內學會如何編寫HTML檔案。而Java語言的結構和編寫方法更類似於c++,所以學習Java語言要有程式設計的基礎和面向物件的概念。
(2)Web頁面的編寫主要採用HTML語言,但若想使頁面更具變化性、多樣性、互動性,可採用Java語言來達到這種效果,起到錦上添花的作用。
4、在HTML檔案中嵌入Applet</FONT> <BR>Applet是Java在Inter的中的一個重要應用,同時它的出現也促使了Java成為日益流行的程式設計語言。Applet是指由Java語言編寫的,被嵌入到Web頁面中,並通過瀏覽器執行以產生特殊頁面效果的小程式。嵌入了Applet的Web頁面看上去會更加豐富多彩,具有動態互動能力。
在Inter上擁有大量的App1et,這些Applet大都是由Sun等公司的Java開發人員設計出來的,對於廣大使用者,特別是初學者,可以將這些App1et下載到自己的計算機中,井通過將這些下載下來的App1et嵌入到自己的Web頁面中來,獲得自己具有相同效果的Web頁面,以豐富自己的頁面內容。
Android的常見布局方法:線性布局、表格布局、相對布局、幀布局和巢狀布局;
好的,糾結了幾天了,換了各種版本的eclipse,那什麼版本以下預設的是線性布局的呢 檢視原帖>>
線性布局LinearLayout 表格布局TableLayout 幀布局Framelayout 相對布局RelativeLayout 絕對布局AbsoluteLayout
android4.0版本後新增的GridLayout
你在網路搜索 「css+div的布局方式,比table的布局方式」 就會有很多關於這個問題答案,你可以看看,雖然都有優缺點,但是建議還是改用div+css吧,table已經過時了
:codesky./article/201008/139693.
希望可以幫到你
KIKC自2013年創立以來,在幾年內已經擴張600多個店鋪,預計將在2018年實現1000個店鋪的全面布局,其發展速度堪稱業界奇跡。
借用網路一句話:響應式布局是Ethan Marcotte在2010年5月份提出的一個概念,簡而言之,就是一個網站能夠相容多個終端——而不是為每個終端做一個特定的版本。這個概念是為解決移動網際網路瀏覽而誕生的。
響應式布局就是可以,適應多種裝置的網頁,比如電腦端和移動端 可以共用同一套CSS。不需要為單獨的裝置而開發相應程式
浮動布局,定位布局以及響應式布局,這三種布局是最基本最常見的,此外比較特殊的是彈性布局,彈性布局相對使用較少,需要根據專案的具體情況而定。
在網站開發當中,通常是需要結合多種布局去實現網頁布局的。如果是在學習網頁布局的相關知識,可以弄本 HTML5布局之路 ,來輔助自己的學習