⑴ 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),或稱為「軟體迭層架構」,迭層主要分成三層:操作系統、中間件、應用程序。
(1)android五大布局擴展閱讀
開發人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
隱藏在每個應用後面的是一系列的服務和系統,其中包括;
豐富而又可擴展的視圖(Views),可以用來構建應用程序,它包括列表(lists),網格(grids),文本框(textBoxes),按鈕(buttons),甚至可嵌入的web瀏覽器。
內容提供器(ContentProviders)使得應用程序可以訪問另一個應用程序的數據(如聯系人資料庫),或者共享它們自己的數據
資源管理器(ResourceManager)提供非代碼資源的訪問,如本地字元串,圖形,和布局文件(layoutfiles)。
通知管理器(NotificationManager)使得應用程序可以在狀態欄中顯示自定義的提示信息。
活動管理器(ActivityManager)用來管理應用程序生命周期並提供常用的導航回退功能。
⑵ 請android四大組件是什麼android常見合布局有哪些
Android有四大組件:Activity、Service、Broadcast Receiver、Content Provider
在這些組件之間的通訊中,主要是由Intent協助完成的。
Intent負責對應用中一次操作的動作、動作涉及數據、附加數據進行描述,Android則根據此Intent的描述,負責找到對應的組件,將 Intent傳遞給調用的組件,並完成組件的調用。
因此,Intent在這里起著一個媒體中介的作用,專門提供組件互相調用的相關信息,實現調用者與被調用者之間的解耦。
例如,在一個聯系人維護的應用中,當我們在一個聯系人列表屏幕(假設對應的Activity為listActivity)上,點擊某個聯系人後,希望能夠跳出此聯系人的詳細信息屏幕(假設對應的Activity為detailActivity)
為了實現這個目的,listActivity需要構造一個 Intent,這個Intent用於告訴系統,我們要做「查看」動作,此動作對應的查看對象是「某聯系人」,然後調用startActivity (Intent intent),
將構造的Intent傳入,系統會根據此Intent中的描述,到ManiFest中找到滿足此Intent要求的Activity,系統會調用找到的 Activity,即為detailActivity,最終傳入Intent,detailActivity則會根據此Intent中的描述,執行相應的操作。
如果您認可我的答案,請點擊下面的「選為滿意回答」按鈕,謝謝!
⑶ android中五種布局有什麼不同
五種布局方式,分別是:FrameLayout(框架布
局),LinearLayout
(線性布局),AbsoluteLayout(絕對布局),RelativeLayout(相對布局),TableLayout(表格布局)
一、FrameLayout
這個布局可以看成是牆腳堆東西,有一個四方的矩形的左上角牆腳,我們放了第一個東西,要再放一個,那就在放在原來放的位置的上面,這樣依次的放,會蓋住原來的東西。這個布局比較簡單,也只能放一點比較簡單的東西。
二、LinearLayout
線性布局,這個東西,從外框上可以理解為一個div,他首先是一個一個從上往下羅列在屏幕上。每一個LinearLayout裡面又可分為垂直布局
(android:orientation="vertical")和水平布局(android:orientation="horizontal"
)。當垂直布局時,每一行就只有一個元素,多個元素依次垂直往下;水平布局時,只有一行,每一個元素依次向右排列。
linearLayout中有一個重要的屬性 android:layout_weight="1",這個weight在垂直布局時,代錶行距;水平的時候代表列寬;weight值越大就越大。
三、AbsoluteLayout
絕對布局猶如div指定了absolute屬性,用X,Y坐標來指定元素的位置android:layout_x="20px"
android:layout_y="12px" 這種布局方式也比較簡單,但是在垂直隨便切換時,往往會出問題,而且多個元素的時候,計算比較麻煩。
四、RelativeLayout
相對布局可以理解為某一個元素為參照物,來定位的布局方式。主要屬性有:
相對於某一個元素
android:layout_below="@id/aaa" 該元素在 id為aaa的下面
android:layout_toLeftOf="@id/bbb" 改元素的左邊是bbb
相對於父元素的地方
android:layout_alignParentLeft="true" 在父元素左對齊
android:layout_alignParentRight="true" 在父元素右對齊
還可以指定邊距等,具體詳見API
五。TableLayout
表格布局類似Html裡面的Table。每一個TableLayout裡面有表格行TableRow,TableRow裡面可以具體定義每一個元素,設定他的對齊方式 android:gravity="" 。
每一個布局都有自己適合的方式,另外,這五個布局元素可以相互嵌套應用,做出美觀的界面。-----------------cvsyun。
⑷ android五大布局繼承哪個類
所有的控制項和布局 都繼承View這個類
⑸ 誰能給我一個關於Android中LineLayout的詳細講解
Android中LinearLayout是線性布局控制項,它包含的子控制項將以橫向或豎向的方式排列,按照相對位置來排列所有的widgets或者其他的containers,超過邊界時,某些控制項將缺失或消失。因此一個垂直列表的每一行只會有一個widget或者是container,而不管他們有多寬,而一個水平列表將會只有一個行高(高度為最高子控制項的高度加上邊框高度)。LinearLayout保持其所包含的widget或者是container之間的間隔以及互相對齊(相對一個控制項的右對齊、中間對齊或者左對齊)。
1.xml屬性
android:baselineAligned:是否允許用戶調整它內容的基線。
android:baselineAlignedChildIndex:當一個線性布局與另一個布局是按基線對齊的一部分,它可以指定其內容的基線對齊方式。
android:gravity:指定如何在該對象中放置此對象的內容(x/y坐標值)。
android:orientation:設置它內容的對其方向(橫向/豎向)。
2.在LinearLayout中設置排列方式為水平時只有垂直方向的設置是有效的,水平方向的設置是無效的:即left,right,center_horizontal 是不生效的
3.在LinearLayout中設置排列方式為垂直時只有水平方向設置是有效的,垂直方向的設置是無效的是無效的:即top,bottom,center_vertical 是無效的
⑹ 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="" 。
(6)android五大布局擴展閱讀:
開放性:
在優勢方面,Android平台首先就是其開放性,開發的平台允許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可以使其擁有更多的開發者,隨著用戶和應用的日益豐富,一個嶄新的平台也將很快走向成熟。
開放性對於Android的發展而言,有利於積累人氣,這里的人氣包括消費者和廠商,而對於消費者來講,最大的受益正是豐富的軟體資源。開放的平台也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。
豐富的硬體:
這一點還是與Android平台的開放性相關,由於Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產品。功能上的差異和特色,卻不會影響到數據同步、甚至軟體的兼容,如同從諾基亞Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優秀的軟體帶到iPhone上使用、聯系人等資料更是可以方便地轉移。
⑺ android線性布局中,上面的組件佔了所有空間,下面的組件無法顯示,有什麼辦法處理(組件不能刪除
Android 開發布局 線性布局---LinearLayout
引用 Android-----線性布局
Android 的界面是有布局和組件協同完成的,布局就好像是建築里的框架,而組件則相當於建築裡面的磚瓦。組件按照要求的順序進行排列組合,就組成了用戶所看見的界面。Android的五大布局為:
1. LinearLayout 線性布局
2. FrameLayout 單幀布局
3. RelativeLayout 相對布局
4. AbsoluteLayout 絕對布局
5. TableLayout 表格布局
LinearLayout:
LinearLayout 按照垂直或者水平的順序依次排列子元素,每一個子元素位於前一個元素之後。如果是垂直排列,那麼就是一個N行單列的結構,每一行只會有一個元素,而不論這個元素的寬度是多少;如果是水平排列,那麼就是一個單行N列的結構。如果搭建兩行兩列的結構,通常的辦法是先垂直排列兩個元素,每一個元素里再包含一個LinearLayout進行水平排列。
LinearLayout 中的子元素屬性:android:layout_weight生效,它用於描述該子元素在剩餘空間中佔有的大小比例,加入一行只有一個文本框,那麼它的默認值就是0,如果一行中有兩個等長的文本框,那麼他們的android:layout_weight值可以同為:1,如果一行中有兩個不等長的文本框,那麼他們的android:layout_weight值分別為:1和2 ,那麼第一個文本框將占據剩餘空間的三分之二,第二個文本框將占剩餘空間的三分之一,android:layout_weight遵循數值越小,重要度越高的原則;android 關於畫筆特效的問題
最近在做畫筆特效,,查找了很多資料,只發現很多地方都說了 setColorFilter(ColorFilter colorfilter); * 設置顏色過濾
⑻ android一個頁面可以有幾種布局方法嗎
Android界面五種常用布局方式
Android的界面由布局和組件協同完成,布局相當於整體框架,而組件則是框架裡面的內容。組件按布局方式一次排列,就組成了用戶所能看見的界面。Android的五大布局分別是LinearLayout(線性布局)、FrameLayout(單幀布局)、RelativeLayout(相對布局)、AbsoluteLayout(絕對布局)、TableLayout(表格布局)。
LinearLatout按照垂直或水平的順序依次排列子元素,每一個子元素都位於前一個元素之後。如果是垂直排列,那麼將是一個N行單列的結構,每行只會有一個元素,而不論這個元素的寬度是多少;如果是水平排列,那麼將是一個單行N列的結構。如果搭建兩行兩列的結構,通常是先垂直排列兩個元素,每個元素里再包含一個LinearLayout進行水平排列。
FrameLayout是五大布局中最簡單的一種布局,在這個布局中,整個界面被當成一塊備用的空白區域,所有的子元素都不能被指定放置的位置,它們統統放於這塊區域的左上角,並且後面的元素直接覆蓋在前面的子元素之上,將前面的子元素部分或全部遮擋。
AbsoluteLayout是絕對布局。在此布局中的子元素android:layout_x和android:layout_y屬性將生效,用於描述該子元素的坐標位置。屏幕上左上角為坐標原點(0,0),第一個0代表橫坐標,向右移動此值增大,第二個代表縱坐標,向下移動此值增大,在此布局中的子元素可以相互重疊。在四級開發中,通常不採用此布局方式,因為它的界面代碼過於剛性,以至於不能很好的適配各種終端。
RelativeLayout按照各子元素之間的位置關系完成布局。在此布局中的子元素里與位置相關的屬性將會生效。例如android:layout_below,android:layout_above等。子元素就通過這些屬性和個自的ID配合指定位置關系。注意在指定位置關系時,引用的ID必須在引用前被定義,否則將出現異常。RelativeLayout是Android五大布局中較為靈活的一種布局方式,比較適合一些復雜的界面布局。
TableRow(表格布局)是LinearLayout的子類,它的Android:Layout_width和Layout_height屬性恆為MATCH_PARENT和WRAP_CONTENT。所以它的子元素都是橫向排列,並且寬高一致。這樣的設計使得每個tablerow里的子元素都都相當於表格中的單元格一樣。在TableRow中,單元格可以為空,但是不能跨列。
⑼ android linearlayout 的屬性怎麼描述
FrameLayout是五大布局中最簡單的一個布局,在這個布局中,整個界面被當成一塊空白備用區域,所有的子元素都不能被指定放置的位置,它們統統放於這塊區域的左上角,並且後面的子元素直接覆蓋在前面的子元素之上,將前面的子元素部分和全部遮擋。顯示效果如下,第一個TextView被第二個TextView完全遮擋,第三個TextView遮擋了第二個TextView的部分位置。LinearLayout按照垂直或者水平的順序依次排列子元素,每一個子元素都位於前一個元素之後。如果是垂直排列,那麼將是一個N行單列的結構,每一行只會有一個元素,而不論這個元素的寬度為多少;如果是水平排列,那麼將是一個單行N列的結構。如果搭建兩行兩列的結構,通常的方式是先垂直排列兩個元素,每一個元素里再包含一個LinearLayout進行水平排列。LinearLayout中的子元素屬性android:layout_weight生效,它用於描述該子元素在剩餘空間中佔有的大小比例。加入一行只有一個文本框,那麼它的默認值就為0,如果一行中有兩個等長的文本框,那麼他們的android:layout_weight值可以是同為1。如果一行中有兩個不等長的文本框,那麼他們的android:layout_weight值分別為1和2,那麼第一個文本框將占據剩餘空間的三分之二,第二個文本框將占據剩餘空間中的三分之一。android:layout_weight遵循數值越小,重要度越高的原則。