为什么要在 Galaxy S3 的 2.3.3 API 中开发应用程序? [已关闭]

问题描述 投票:0回答:5

我最近正在开发一个应用程序并且一直在研究。我首先在 4.1.2 API 中编写了我的 Android 应用程序,这是 Galaxy S3 的 API。但今天,因为我犯了一个错误,我以全新的心态重新开始编程。所以我正在研究应该使用什么平台进行编程,例如 API 和设备。这样,我就可以完美地适应 XML 蓝图组件的高度和宽度。但我通过研究注意到的一件事是,只要设备的宽x高比合适,其他程序员即使对于 Galaxy S3 也会在 2.3.3 中进行编程。那么,API 级别真的不重要吗?所以...我想知道为什么 API 并不重要,只要 wXh 配比没问题。以及适用于 Galaxy S3 应用程序的优秀(实际上是完美的)虚拟设备和 API

android
5个回答
0
投票

这不仅仅与设备的高度和宽度有关。 Android 布局不是静态的,您不应该为应用程序界面提供固定的高度和宽度。相反,您应该使用指定为 wrap_content 或 fill_parent 类型的相对尺寸的布局,以便它们适合所有设备。

此外,您应该指定低、中、高密度屏幕的布局,以便它可以在大多数设备中正常运行。

现在到了API版本,作为开发者,你应该尽力确保最多的人可以使用你的应用程序。您需要确保您的应用程序可以在安装了 2.3.3 版本以及 ICS 的设备上运行。为了实现这一目标,建议您开发目标 2.3.3。


0
投票

API 级别很重要。您可以对三星 Galaxy S3 使用适用于 Android 4.1 的 API,但程序员使用(如您所说)API 级别 8,因为与旧设备兼容。 http://en.wikipedia.org/wiki/Backward_compatibility


0
投票

他们针对 2.3.3 进行开发,以支持旧平台。

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

这意味着它支持从2.3.3到4.2.2

您可以使用新的 API 并支持旧的 API。 通过这种设置,您必须小心仅在运行新平台时才使用新的 api。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
    asyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params);
} else {
    asyncTask.execute(params);
}

如果您仅支持 Galaxy S3,则可以从 API 16 开始

<uses-sdk
    android:minSdkVersion="16"
    android:targetSdkVersion="17" />

0
投票

API 2.3.3 是 Android 开发的某种“标准”,因为直到今天(或者直到我上次检查),大约 40% 的 Android 市场仍在使用 2.3.3 版本,如果您使用此 API 进行开发

minSdkVersion
(2.3.3 是 10 顺便说一句)你占据了大约 96% 的市场(谷歌说)。当越来越多的人升级到 Android 4(ICS 及更高版本)时,这些数字正在发生变化。我相信如果你的应用程序可以处理


0
投票

API确实很重要,但它与屏幕尺寸或分辨率无关。它与可使用的功能有关。

例如,如果您的目标平台是 android 2.3,那么您的应用程序可以在 2.3 及所有未来版本上运行,但是,如果您在 2.3 中使用新的 API 函数,并且您尝试在 2.2 设备上安装您的应用程序,则当调用新的 2.3 函数时,您的应用程序将崩溃并显示

NoClassDefFoundError
,这意味着您尝试调用的类/函数不存在。

© www.soinside.com 2019 - 2024. All rights reserved.