Мне было интересно, есть ли способ привязать абстрактный класс к сервису?Android Binding Abstract Class to Service
У меня есть Служба, которая открывает новую тему и связывается с сервером Socket.IO Node.js. Я хотел бы создать абстрактный класс, который содержит привязку к службе, посланникам и обработчикам, чтобы ее можно было использовать в нескольких приложениях. Цель состоит в том, что я могу создать и Object этого абстрактного класса, и просто нужно переопределить onWh независимо от функций, вызываемых на основе любого сообщения, которое сервер отправляет обратно.
Если у меня есть, я могу просто сделать public abstract void bindToService();
и переопределить его в любом действии, использующем этот класс, но я бы предпочел сделать его приватным методом для абстрактного класса и вызвать его при инициализации объекта , Есть ли способ достичь этого?
Заранее спасибо за любую помощь ...
Я понимаю, как Activity привязывается к службе, я хотел знать, есть ли способ привязать абстрактный класс (не активность) к службе. Таким образом, Activity имеет частный класс, который расширяет абстрактный класс, и когда объект инициализирован, он связан. – nathansizemore
@ w3rthl3ss: 'Сервис может быть привязан только к компонентам приложения. Если вы хотите реализовать логику привязки в другом классе, вам нужно будет передать ссылку на ваш «Активность» или «Приложение». Вероятно, вам нужна реализация 'ServiceConnection', которая автоматически будет получать обратные вызовы, когда« Служба »будет подключена или отключена, и сможет взаимодействовать с ней через« IBinder ». – corsair992
Мне удалось решить эту проблему, используя «WeakReference» для Activity в классе «Конструктор». Как и ваш комментарий выше. – nathansizemore