Есть ли способ использовать функции в Android 2.1 / 2.2 при сохранении версии minSDK до 3? - PullRequest
7 голосов
/ 26 мая 2010

У меня есть проект, который просто использует Android 1.5 для программирования, но с распространением других мобильных телефонов и некоторых интересных функций в Android 2.2, мы хотели бы поддерживать функции без потери поддержки 1.5 или разветвления новой базы кода.,Возможно ли это сделать с помощью Android SDK?

У меня действительно есть некоторый смысл "уродливого" способа сделать это, например, поддерживать ту же базу кода, но иметь систему сборки, которая собирает разные версии для платформ ихраните различные Java-файлы, которые добавляются в нашу сборку вне зависимости от выбранной версии.Я надеюсь, что кто-то еще решил проблему, основываясь на множестве версий приложений на рынке, которые работают на нескольких версиях Android.

1 Ответ

6 голосов
/ 26 мая 2010

мы хотели бы поддержать функции без потери поддержки 1,5 или раздваивать новую кодовую базу. Это можно сделать с Android SDK?

Конечно. Техники существуют уже около десяти лет.

Вариант № 1: использовать отражение для доступа к новым классам (или новым методам существующих классов) во время выполнения См. Пример для примера.

Вариант № 2. Использование условной загрузки классов путем создания интерфейса и двух реализаций (одна для более старого API, одна для более нового API) и загрузки правильной реализации во время выполнения. Поскольку более новая реализация не будет загружена на более старое устройство, тот факт, что более новая реализация использует классы или методы, которые отсутствуют у более старого устройства, не представляет проблемы. См. Здесь пример.

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