AndroidManifest.xml
AndroidManifest.xml清單文件通常包括如下內容:
- 應用程序的包名,該包名作為該應用的唯一標識。
- 應用包含的組件,如Activity,Service,Broadcastreceiver和ContentProvider.
- 應用程序使用系統所需的權限聲明。
- 其他程序訪問該程序所需的權限聲明。
一個應用程序可以有多個Activity,每個Activity是同級別的,那么在啟動程序時,最先啟動那個Activity呢?有些程序可可能需要顯示早程序列表里,有些不需要。
android.intent.action.MAIN 指定該Activity是程序的入口
Activity android.intent.category.LAUNCHER 指定加載該應用時運行該Activity
只要xml配置文件中有這么一個intent-filter,而且里面有這個launcher,那么這個activity就是點擊程序時最先運行的那個activity。
必須在manifest 為activity匹配 android.intent.category.LEANBACK_LAUNCHER 過濾器。添加這個主要是為了googleplay的區分識別,沒有添加相 應過濾器的應用,googleplay是不允許上架的。
如果你的應用打算在各個設備(手機、可穿戴、tv),將leanback的required的值設置為false;設置為ture的話你的應用只可以在使用Leanback的設備上。
只有android:debuggable="true"時我們才可以在手機上調試Android程序,但是默認是可以在手機上調試的,不需要作更改。
<use-feature/> 聲明運行該程序所要求的硬件支持
<uses-sdk /> android SDK要求最低版本
設置Activity的android:configChanges="orientation|keyboardHidden"時,切屏不會重新調用各個生命周期,只會執行onConfigurationChanged方法。
但是,自從Android 3.2(API 13),在設置Activity的android:configChanges="orientation|keyboardHidden"后,還是一樣 會重新調用各個生命周期的。因為screen size也開始跟着設備的橫豎切換而改變。所以,在AndroidManifest.xml里設置的MiniSdkVersion和 TargetSdkVersion屬性大於等於13的情況下,如果你想阻止程序在運行時重新加載Activity,除了設置"orientation", 你還必須設置"ScreenSize"。
解決方法:
AndroidManifest.xml中設置android:configChanges="orientation|screenSize“
AndroidManifest.xml文件詳解(supports-screens)
<support-screen>
如果為了適應不同的屏幕尺寸而調整了尺寸,但應用程序也不能很好的工作,就可以使用<supports-screens>元素的屬性來控制應用程序是否應該發布給屏幕較小的設備,或者使用系統的屏幕兼容模式,讓UI放大以適應較大屏幕的要求。在沒有針對較大屏幕尺寸的設計,並且普通的尺寸不能達到合適結果時,屏幕的兼容模式會通過模擬普通尺寸的屏幕和中等密度來縮放UI,以便它能夠填充整個屏幕,這樣會導致UI模糊,因此針對大屏幕的優化是比較好的。
If you want the backported Material Design look, use AppCompatActivity
If not, but you want nested fragments, use FragmentActivity
Module:app中的
Minimum SDK的作用是在應用安裝前,會對設備的Android版本做校驗,如果設備的Android版本低於這個最小版本會阻止用戶安裝應用。