Поиск
Меню
Категории раздела
Рекомендуем
|
Взаимодействие с кодом платформыИногда бывает необходимо получить доступ к API конкретной платформы, например добавление рекламных услуг или функциональность leaderboard предоставляемые таким фреймворком как Swarm. Это может быть достигнуть взаимодействие API с фасадом, предоставляя реализацию для конкретной платформы. Следующий пример не является реальным и предполагает, что мы хотим использовать очень просто leaderboard API, который доступен только на Android. Для других платформы мы просто логируем вызов или возвратить тестовое значение. Android API выглядит следующим образом: /** Давайте предположим, что это API предоставлено Swarm **/Первым шагом является создание абстракции API в виде интерфейса. Интерфейс нужно поместить в основной проект (смотрите настройку проекта) public interface Leaderboard {Далее мы создадим конкретные реализации для каждой платформы и поместим их в соответствующие проекты. Следующий код для Android проекта: /** Android реализация, можно иметь доступ к LeaderboardServiceApi на прямую **/Следующий код для Desktop проекта: /** Desktop реализация, мы просто пишем сообщение в лог **/Следующий код для HTML5 проекта: /** Html5 реализация, какая же для DesktopLeaderboard **/Далее ApplicationListener получает конструктор в который мы может передать конкретную реализацию Leaderboard: public class MyGame implements ApplicationListener {В каждой Starter классе мы мы просто создает экземпляр MyGame, передавая как агрумент соответствующею Leaderboard реализацию, например для Desktop проекта: public static void main(String[] argv) { |