編輯:關於Android編程
語法
<application android:allowTaskReparenting=["true" | "false"]
android:backupAgent="string"
android:debuggable=["true" | "false"]
android:description="string resource"
android:enabled=["true"| "false"]
android:hasCode=["true"| "false"]
android:hardwareAccelerated=["true"| "false"]
android:icon="drawable resource"
android:killAfterRestore=["true" | "false"]
android:largeHeap=["true" | "false"]
android:label="string resource"
android:logo="drawable resource"
android:manageSpaceActivity="string"
android:name="string"
android:permission="string"
android:persistent=["true" | "false"]
android:process="string"
android:restoreAnyVersion=["true" | "false"]
android:supportsRtl=["true" | "false"]
android:taskAffinity="string"
android:theme="resource or theme"
android:uiOptions=["none" | "splitActionBarWhenNarrow"]>
.. .
</application>
父元素
<manifest>
子元素
<activity>
<activity-alias>
<service>
<receiver>
<provider>
<uses-library>
描述
定義這個應用。這個元素包含定義了每個應用組件的子元素,擁有能影響所有應用組件的屬性。這些屬性中的大部分(如icon, label, permission,process, taskAffinity, 和allowTaskReparenting)都對特定組件元素的對應屬性設置默認值。其它屬性(如debuggable, enabled,description, 和allowClearUserData)是對這個應用整體進行設置,這些屬性不能被具體的組件重寫。
屬性
android:allowTaskReparenting
這個應用定義的activities是否能從啟動它們的task移動到和它們有關聯的task(當接下來這個task到前台的時候)-如果“true”,則能移動,否則它們必須和啟動它們的任務待到一起-“false”。默認值是“false”。
<activity>元素有它自己的能重寫這個屬性值的android:allowTaskReparenting屬性。更多內容參見這個屬性。
android:backupAgent
實現應用backup agent的類的名稱,這個類是BackupAgent的子類。這個屬性值應該是完整的類名(例如,“com.example.project.MyBackupAgent”)。然而,有一個簡寫,如果這個名稱的第一個字母是點(例如,“.MyBackupAgent”),那麼它會追加到在<manifest>元素中定義的包名的後面。
這個屬性沒有默認值,必須指定。
android:debuggable
是否這個應用可調式,即使用用戶模式在設備上運行時-如果可以,則為“true”,否則為“false”。默認值是“false”。
android:description
這個應用的用戶可讀文本,同應用的label相比,它有更多或更長的敘述性內容。這個值必須通過string資源的引用來指定。和label不同的是,它不能為raw串。沒有默認值。
android:enabled
是否android系統能初始這個應用的組件-如果能,則為“true”;否則為“false”。如果這個值是“true”,那麼每個組件自身的enabled屬性能決定這個組件是否enabled。如果這個值是“false”,它會重寫指定組件的值;所有的組件都是disabled的。
默認值是“true”。
android:hasCode
是否這個應用包含代碼-如果包含,則為“true”,否則為“false”。當它的值為“false”時,在運行組件時系統就不會設法裝載任何應用代碼。默認值是“true”。
如果它只是使用內置組件類,那麼應用自身就不會有任何代碼。例如,使用了AliasActivity類的activity,這種情況很少發生。
android:hardwareAccelerated
是否對所有的activity和這個應用中所有的視圖啟用硬件加速功能-如果應該啟用,則為“true”,否則為“false”。
如果你已經設置minSdkVersion或targetSdkVersion到“14”或者更高,那麼這個值為“true”;否則,它的值為“false”。
從Android3.0(API Level 11)開始,硬件加速渲染器就對應用可用,這個功能主要用來提升大部分通用2D圖形操作的執行性能。當這個渲染器啟用時,大部分Canvas,Paint,Xfermode,ColorFilter,Shader和Camera的操作就會加速。總的來說,這就會產生平滑的動畫、平滑的滾動以及提升響應速度,甚至對那些沒有明確說明使用框架的OpenGL 庫的應用都有效。
需要注意的是,並非所有的OpenGL 2D操作都會加速。如果你啟用了硬件加速器,你需要測試你的應用以保證它能正確無誤的使用渲染器。
關於這方面的更多信息,參見Hardware Acceleration向導。
android:icon
這個應用的圖標,同時也是這個應用的每個組件的默認圖標。參見<activity>、<activity-alias>、<service>、<receiver>和<provider>組件的各自的獨立icon屬性。
這個屬性必須設置為包含圖片的drawable資源的引用(例如:“@drawable/icon”)。沒有默認的圖標。
android:killAfterRestore
在出現問題時,這個應用是否在完整的系統恢復操作已經完成後停止。單包恢復操作絕對不會導致這個應用會被關掉。
一般來說,當這個電話在安裝時,全系統恢復操作只會出現一次。第三方應用一般不會用這個屬性。
默認值是true,意味著在全系統恢復操作期間這個應用已經完成操作後,它將會停止。
android:largeHeap
是否你應用的進程應當在更大的Dalvik堆中創建。這會應用到創建這個應用的所有進程。如果你使用共享的用戶ID來允許多個應用使用同一個進程,則它只會應用到第一個裝載到進程中的應用,同時它們必須全部使用這個選項,否則將會出現不可預知的結果。
大部分應用都不需要這樣做,而是把焦點關注在如何減少它們內存使心率來提升性能。由於某些設備還依賴於它整體的內存大小,所以啟用這項也不能保證安裝時可用內存會增加。
為了在運行時查看可用內存,可以使用getMemoryClass()或getLargeMemoryClass()方法。
android:label
統一地用戶可讀的應用標簽,同時也是每個應用組件的默認標簽。參見<activity>、<activity-alias>、<service>、<receiver>和<provider>組件的各自的獨立label屬性。
這個標簽應當設置為對string資源的引用,以便它能像用戶接口中的其它字符串一樣本地化。然而,為了開發應用方便,你也可以直接使用raw串(硬編碼)。
android:logo
這個應用的logo,同時也是activities的默認logo。
這個屬性必須設置為包含圖片的drawable資源的引用(例如:“@drawable/logo”)。沒有默認logo。
android:manageSpaceActivity
Activity子類的完整標示符名稱,系統能運行這個子類讓用戶來管理設備上應用的內存占用。這個activity也應該用<activity>元素來定義。
android:name
實現這個應用的application子類的完整名稱。當這個應用的進程啟動時,這個類會在這個應用的所有組件之前初始化。
這個子類是可選的;大部分應用都不需要。在這個application的子類不存在時,android會使用最基本的Application類的實例。
android:permission
客戶端同這個應用交互時需要的權限的名稱。這個屬性是為這個應用的所有組件設置權限的最方便的方式。它能通過獨立的組件自身來重寫。
android:persistent
是否這個應用應當隨時保持運行-如果應當則為“true”,否則為“false”。默認是“false”。一般來說,應用不用設置這個標記;persistence模式在特定的系統應用中使用。
android:process
所有的應用組件應當運行的進程的名稱。每個組件都能通過它自身的process屬性來重寫這個默認值。
默認情況下,當應用的第一個組件需要運行時,Android會對應用創建一個進程。所有的組件都運行在這個進程中。這個默認的進程名匹配在manifest中設置的包名。
通過設置其他應用能共享的進程名稱,你能為運行在同一個進程中的兩個應用的組件做准備-只是在如果兩個應用也共享同一個用戶ID並通過相同的證書來簽名的條件下。
如果分配的名稱用冒號(:)開始,那麼一個新的,對應用私有的進程就在需要它的時候創建。如果進程名字以小寫字母開始,那麼一個全局的進程就被創建。這個全局的進程能被其它應用共享,降低資源消耗。
android:restoreAnyVersion
表名應用准備嘗試備份數據的恢復,即使是這個備份是由比在當前設備上安裝的應用更新的版本保存的。設置這個屬性為true意味著即使當新版本采取了不兼容的數據時,也允 許備份管理器嘗試進行恢復操作。因此,使用時要消息!
這個屬性的默認值是false。
android:supportsRtl
聲明是否你的應用支持right-to-left(RTL)布局。
如果設置為true,並且targetSdkVersion設置了17或更高版本,大量的RTL APIs就會通過系統被激活和使用,所以你的應用就可以顯示RTL布局。如果設置為false或targetSdkVersion設置了16或更低版本,這個RTL APIs就會被忽略或無效,並且不管用戶當前選擇了什麼方向,你的應用都以相同的方式運行(也就是你的布局總是left-to-right)。
這個屬性的默認值是false。
這個屬性在API Level 17中被添加。
android:taskAffinity
應用到這個應用的所有activities的affinity名稱,除了那些通過它們自己的taskAffinity屬性設置了不同的值的組件。
默認情況下,應用中的所有activities共享同一個affinity。這個affinity名稱匹配在<manifest>元素中定義的包名。
android:theme
對這個應用當中的所有activities聲明默認主題的資源的引用。每個activity本身也能通過它自己的theme屬性重寫這個默認值。更多信息,參見Stylesand Themes向導。
android:uiOptions
activity UI的額外選項。
值必須是下面當中的一種。
值
描述
“none”
沒有額外的UI選項,這是默認值。
“splitActionBarWhenNarrow”
當受限於水平空間時(就像在手機豎屏時),在這個屏幕的底部添加一個bar用來在ActionBar中顯示action項。不是在屏幕的頂部action bar裡顯示少量的action項,而是為了這個action項將這個action bar分成頂部導航部分和底部導航部分。這不僅對這個action項,而且也對導航和頂部的標題元素保證了可用的合理數量的空間。菜單項不能分成兩個bar;它們總是一起出現。
關於這個action bar的更多信息,參見ActionBar開發人員向導。
這個屬性在API Level 14中被添加。
相對布局要比前面講的線性布局和表格布局要靈活一些,所以平常用得也是比較多的。相對布局控件的位置是與其周圍控件的位置相關的,從名字可以看出來,這些位置都是相對的,確定出了其
前段時間閱讀了RxJava1.x的源碼,剛好RxJava2.x也發布了RC版,為了迎接10月底的正式版,趁熱打鐵,本篇將對RxJava2.x進行一個簡單的剖析。Obser
第1章 用戶界面和布局應用程序的用戶界面就是用戶能看到並可以與它交互的任何東西。Android提供多種預置的UI組件,如結構化布局對象和允許你為應用程序創建圖形用戶界面的
魅藍note3怎麼root?魅藍note3的價格相當便宜,作為一款安卓手機,相信有部分玩機愛好者想把魅藍note3 root了,魅藍note3現在root的