1. 程式人生 > 其它 >android 陀螺儀_Android 裝置相容性詳解

android 陀螺儀_Android 裝置相容性詳解

技術標籤:android 陀螺儀

640?wx_fmt=gif

和你一起終身學習,這裡是程式設計師Android

經典好文推薦,通過閱讀本文,您將收穫以下知識點:

一、裝置相容性分類
二、硬體裝置相容
三、軟體 APP 相容
四、相容不同語言
五、相容不同解析度
六、相容不同螢幕方向佈局
七、相容不同硬體 Feature
八、相容不同SDK平臺

一、裝置相容性分類

Android設計用於執行在許多不同型別的裝置上,從手機到平板電腦和電視機。作為開發人員,各種裝置為您的應用程式提供了巨大的潛在受眾。為了使您的應用程式在所有這些裝置上取得成功,APP應該容忍一些功能變化,並提供適應不同螢幕配置的靈活的使用者介面。

相容性分類主要分:硬體相容性,軟體相容性兩大類。

二、硬體裝置相容

不同廠商(比如:手機廠商)生產不同尺寸的裝置,此時,裝置要相容不同型別的APPGoogle也對此有強烈的要求,國外手機,必須通過CTS(相容性測試)才可以上市售賣。國內手機由於沒有預製GMS包,不用測試相容性,故,有時候小廠商生產的手機在相容性上可能不太完美。

三、軟體 APP 相容

作為APP開發者,APP相容性是必須的。相容不同Feature,相容不同語言、相容不同螢幕尺寸、相容不同解析度,相容不同SDK版本等

四、相容不同語言

為了更加國際化,APP通常會相容不同國家語言,最基本的是相容英文,簡體中文,繁體中文等

1. 檔名稱命名規則如下:

values-ISO語言程式碼

2 .使用語法:

  • java :
    R.string. 引用字串資源

  • XML :
    @string/

  • 常用語言如下:
    簡體中文 values-zh-rCN
    繁體中文 values-zh-rTW 、values-zh-rHK
    美式英文 values
    英文 values-en-rGB

3. 相容不同語言舉例

Android手機相容不同國家的語言,進而更方便使用者使用。

640?wx_fmt=jpeg

Android相容不同國家語言

五、相容不同解析度

Android 執行在不同的裝置上,比如手機、TV、Car等裝置載體。為了分類這些載體,Android裝置分兩大類:

1. 螢幕大小

物理尺寸上的大小 區分如下:small, normal, large, and xlarge

2. 螢幕密度(DPI)

螢幕畫素的物理密度,區分如下:mdpi (medium), hdpi (hdpi), xhdpi (extra high), xxhdpi (extra-extra high), and others

3. UI 標準化,常用圖片相容性總結

開發過程中適應不同圖片時候的參考總結

密度建議尺寸手機螢幕密度DPI圖片解析度基準圖縮放倍數
drawable-mdpi48 * 48120dpi ~ 160dpi320x4801.0
drawable-hdpi72 * 72160dpi ~ 240dpi480x800、480x8541.5
drawable-xhdpi96 * 96240dpi ~ 320dpi960*7202.0
drawable-xxhdpi144 * 144320dpi ~ 480dpi1280×7203.0
drawable-xxxhdpi192 * 192480dpi ~ 640dpi1920*10804.0

4.手機螢幕密度DPI獲取方法

float xdpi = getResources().getDisplayMetrics().xdpi;
float ydpi = getResources().getDisplayMetrics().ydpi;

5. 相容螢幕解析度舉例

640?wx_fmt=jpeg

相容不同螢幕解析度

640?wx_fmt=jpeg

Android Studio推薦方法

六、 相容不同螢幕方向佈局(橫向 landscape 、縱向 portrait)

雖然Android在橫豎屏切換的時候可以自適應,但是,效果經常不是太好,為了更好適應手機螢幕的旋轉,橫屏、豎屏需要不同的佈局,進一步提升UI互動體驗。

1. 相容不同螢幕方向佈局舉例:

佈局適應螢幕
layout預設縱向
layout-land橫向佈局
layout-large大屏縱向
layout-large-land大屏橫向
layout-sw600dp雙窗口布局,常用平板
layout-sw600dp-land雙窗口布局,常用橫向 平板
layout-sw720dp雙窗口布局,常用平板

640?wx_fmt=jpeg

相容不同螢幕大小

七、相容不同硬體 Feature

為了兼顧不同的手機版本,在應用使用不同的Feature時候進行判斷是否支援,這樣會更好的提升使用者體驗。
比如有些低配手機會沒有陀螺儀等Feature,此時APK要相容不容的硬體Feature

相容 Feature 的使用方法

例如:在AndroidManifest檔案中宣告使用Feature

<manifest ... >

然後在使用該Feature 功能時候進行判斷取捨

= 

八、 相容不同SDK平臺

不同的裝置會執行在不同的Android版本上,比如Android 2.*、Android 4.* 、Android 5.* 、Android6.* 、Android 7.* 、Android 8.*

建立工程時候,在AndroidManifest.xml檔案中可以選擇APP要相容的Android版本

<manifest ... >

當然也可以在Java程式碼中動態判斷當前裝置版本,進而執行不同的程式碼。

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
// Running on something older than API level 11, so disable
// the drag/drop features that use ClipboardManager APIs
disableDragAndDrop();
}

640?wx_fmt=jpeg