2012-06-18 2 views
0

Таким образом, я создал глобальный класс, который расширяет GlobalSettings:Как получить доступ к статическим переменным в глобальном объекте

public class Global extends GlobalSettings { 
private Thread thread = new Thread(); 

@Override 
public void onStart(Application app) { 
    .... 
public void write(byte[] bytes) { 
    .... 

Который имеет тему в нем, как я слушаю к розетке, так что мне нужно это и работает все время. Я пытался использовать Актеры и имел класс, который расширяет UntypedActor, но он казался очень хакерским, и я должен был в конце вызова актеру заставить его называть себя.

Мне также нужно написать в розетку. который у меня есть метод, называемый write, который записывает в сокет. То, что я хотел бы сделать, - это один из моих методов вызвать метод записи глобальных объектов. Есть ли способ, которым я могу это сделать? Atm my Global объект не входит в пакет. Мне нужно положить его в пакет, чтобы заставить его работать?

+0

Я действительно получил впечатление, где-то, что-то пошло не так, когда вы разработали приложение. Часть философии игры - асинхронное и безгосударственное проектирование. Вы делаете все наоборот, сначала разделяя переменную по всем запросам, а во-вторых, запустив поток ... –

+0

Позвольте мне добавить, что Play - это веб-фреймворк, если вы говорите о веб-сокетах, есть лучшие способы обработки они, если не вы действительно пытаетесь взломать что-то, используя неправильные инструменты. –

+0

Я понимаю, что платформа воспроизведения не имеет гражданства. Но у вас действительно нет соседей без гражданства. – user1434177

ответ

0

Хорошо, поэтому я решил проблему с использованием шаблона singleton. Создал объект под названием ThreadSingleton, чтобы я мог получить доступ к нему из любого места.

Для получения дополнительной информации посетите эту ссылку: http://en.wikipedia.org/wiki/Singleton_pattern