Есть ли способ использовать функции в Android 2.1 / 2.2, сохраняя версию minSDK до 3?

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

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

Solutions Collecting From Web of "Есть ли способ использовать функции в Android 2.1 / 2.2, сохраняя версию minSDK до 3?"

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

Конечно. Методы были около десятилетия или около того.

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

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