[英]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.