Android-приложение с использованием 2.x API, которые также будут работать на 1.x - PullRequest
2 голосов
/ 12 апреля 2010

Я работаю над приложением для Android, в котором я хотел бы использовать мультитач. Тем не менее, я не хочу полностью исключать тех, кто все еще использует телефон с операционной системой 1.x. Как вы программируете приложение таким образом, чтобы вы могли использовать API-интерфейсы Multi-Touch 2.x (или любой другой API более высокого уровня в этом отношении) и при этом разрешать его постепенное снижение в системах 1.x. Если вы создадите проект в Eclipse для 1.x, сможете ли вы по-прежнему получать доступ к API 2.x? По сути, я хочу, чтобы он появился на рынке и работал на всех телефонах версии 1.6 и выше и просто предоставлял доступ к функциональности более высокого уровня, если таковой имеется.

Кроме того, если кто-нибудь может указать мне какие-либо данные о количестве устройств 1.x против используемых устройств 2.x, это будет с благодарностью.

Ответы [ 3 ]

2 голосов
/ 12 апреля 2010

Вот как я использую AccountManager на 2. *, но у меня есть запасной вариант на 1. *, когда он недоступен.

Я строю с 2.1 SDK, но мой Манифест заявляет

<uses-sdk android:minSdkVersion="3" />

Это позволяет приложению работать на 1.5 устройствах и выше.

Я ограничиваю свое использование android.accounts.AccountManager классом-оберткой, я назвал его UserEmailFetcher.

Этот класс можно будет использовать на устройствах 2. *. Однако на более ранних устройствах java.lang.VerifyError будет запускаться при первом обнаружении этого класса в коде. Это я ловлю и выполняю некоторые запасные действия.

String name;
try {
   name = UserEmailFetcher.getEmail(this); 
} catch (VerifyError e) {
   // Happens if the AccountManager is not available (e.g. 1.x)
}

Надеюсь, это поможет.

2 голосов
/ 12 апреля 2010

На эту тему есть хорошая статья об Android под названием « Обратная совместимость для приложений ». По сути, вы можете сделать две вещи:

  1. Установите minSdkVersion так, чтобы приложение идентифицировало себя как совместимое с версией Android ниже, чем та, на которой оно было скомпилировано.

  2. Использовать отражение для доступа к новым API.

Вы также можете создать класс-оболочку для скорости / простоты использования, но это всего лишь разновидность # 2.

Что касается использования платформы, Google опубликовал эти данные несколько месяцев назад .

0 голосов
/ 19 октября 2011

Использование рефлексии, кажется, путь :) Привет p2p Android Wifi на уровне API 14

http://developer.android.com/resources/articles/backward-compatibility.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...