我是Android开发的新手。
我学习过时的书籍,所以我对新方法感到很困惑。
我打算创建一个简单轻便的应用程序,甚至可以在旧设备上运行。
因此,当我创建一个新的android项目时,我设置了#34; Minimum Required SDK"到API 8," Target SDK"到API 22和"编译用"到API 22。
这个设置是否意味着应用程序可以在API 8的设备上运行,即使我使用API 22的方法?
由于方法弃用,我提出这个问题。
我使用已弃用的应用程序完成了近一半的应用程序开发。
我可以用新的替换它们吗?
或者我是否必须使用不同的方法准备多个代码以支持不同的平台版本?
(旧版本已弃用的方法,新版本的新方法?)
答案 0 :(得分:4)
这个设置是否意味着应用程序可以在API 8的设备上运行,即使我使用API 22的方法?
是。 min sdk version用于限制运行具有API级别<的OS的设备。 minsdk使用app。您的应用不会在Play商店中显示这些设备。
由于方法弃用,我问这个问题。
由于方法折旧,我到目前为止还没有遇到任何问题。但是,我建议使用min sdk版本为14,因为Google已经引入了许多UI调整和增强功能。如果你做一些市场调查,使用minsdk version = 14将覆盖大约85%的Android市场。
我可以用新的替换它们吗?
是的,你可以。
或者我是否必须使用不同的方法准备多个代码以支持不同的平台版本? (旧版本的弃用方法和新版本的新方法?)
你也可以这样做。旧版本没有片段支持。片段可以极大地改善平板电脑的用户体验。同样,Lollypop设备的材料设计非常棒。这是您可以选择API级别特定实现的几个示例。但是,最好切换api级别> = 14
答案 1 :(得分:3)
清除你的困惑:
您要支持的最低Android版本。为了达到最大的市场份额,我推荐API级别14或以上。
基本上,这就是说你用SDK测试过你的应用程序的SDK。如果那是KitKat,那么你可以写入数字19,例如KitKat的API编号。您可以找到API编号here的列表。当您使用越来越高版本的Android测试应用时,可以增加该数量。
指定要使用的编译应用程序的Android的API编号。
关于弃用方法的问题:您可以继续使用它们。它们被弃用,以支持在功能方面可能会或可能不会更好的新替代方案。
答案 2 :(得分:1)
不推荐使用的方法仍然可以使用,不推荐使用的关键字只是告诉您有一种更新的首选方法。 Android非常擅长向后兼容性,因此为API级别8编译的内容应该主要适用于较新的设备。
答案 3 :(得分:1)
您将不得不在版本上使用多个代码分支。您可以在运行时检查系统版本,如下所示:
private void setUpActionBar() {
// Make sure we're running on Honeycomb or higher to use ActionBar APIs
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
API 8真的很老了。看看version pie chart
上找到有关此内容的更多信息