簡體   English   中英

Android最低SDK的工作方式是什么?

[英]Which way does the Android minimum SDK work?

如果我已將最低SDK版本設置為16(Jelly Bean 4.1),並且以與該API級別兼容的方式對大部分項目進行了編碼,但是我有一個小的方法需要SDK版本25,那么該方法會停止嗎?整個應用程序在具有Jelly Bean平台的設備上運行? 還是會允許他們安裝它,而僅該特定部分不起作用?

您可以使用注釋來消除方法中的這些問題。

@TargetApi(25)

1.您需要使用您正在談論的抽象方法創建一個抽象類。

    public abstract class YourClass {
        public abstract void doSomething();
    }

2.二次執行。 一個用於舊版本,另一個用於新版本,在新版本中,您放置了@TargetApi。

  • 舊版:

     public class YourClassLegacy extends YourClass { public void doSomething(){ //Legacy method } } 
  • 實現25版本:

     @TargetApi(25) public class YourClassNew extends YourClass { public void doSomething(){ //25 version method } } 

3.在調用this方法的方法( doSomething() )中,您需要實現此方法。

    public static void methodFoo(Context context) {
        if (android.os.Build.VERSION.SDK_INT >= 25) {
            //call to YourClassNew.doSomething();
        }else{ 
            //call to YourClassLegacy.doSomething();
        } 
     }

那么您需要將自己編碼為版本25,然后重新編碼舊的方法以跟上趨勢。 Gradle WILL和MAY可能存在問題,高級API不支持某些方法,尤其是人們在自己的方法中使用的庫

您應該使用支票為provide木版本提供替代方法。

if(android.os.Build.VERSION.SDK_INT >= 25) {
    // use new method
} else {
    // use alternative method
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM