Android: как правильно решить проблему (деятельность / сервис) AssetManager - PullRequest
0 голосов
/ 14 июня 2011

Я постараюсь быть ясным и кратким: Мне бы хотелось, чтобы в моем игровом приложении была сущность, обрабатывающая вопросы / ответы. Для этого Мне нужен доступ к папке ресурсов (для просмотра файлов ресурсов)

Мне нужно, чтобы мой обработчик был доступен для различных действий .

Моя проблема в том, что "нормальный" класс не может делать AssetManager mngr = getAssets ();

Итак, на данный момент у меня есть несколько конструкторов для этого java-класса (по одному на каждый вызов активности), так что мой класс может получать ресурсы из любой точки мира (пройдя через метод действия)

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

Если кто-то понимает мою проблему и может дать мне несколько советов о том, как реорганизовать мое приложение, это будет очень признательно!

Большое спасибо

1 Ответ

0 голосов
/ 14 июня 2011

Методы, которые вызываются в Activity, также могут вызываться через класс Context. Таким образом, вы можете передать контекст деятельности (или лучший контекст приложения) вашему классу:

class MyClass{
  MyClass(Context context){
     AssetManager mngr=context.getAssets();  
  }
}

В деятельности:

MyClass myClass = new MyClass(this);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...