Android: - Как сделать динамический HashMap доступным во всем приложении? - PullRequest
0 голосов
/ 26 августа 2011

У меня есть одна проблема - я анализирую данные из API Google, который возвращает мне JSON данные.Я сохранил эти данные в HashMap<string,String>., который является динамическим.Теперь я хочу сделать его доступным в других моих классах приложений.поэтому я запутался, как сделать его доступным в других классах, не делая статическими.есть ли решение?если у вас есть пример кода, пожалуйста, отправьте.Я пытался использовать static Map<String, String> map = new HashMap<String, String>();, но это не делает сцену, потому что реакция динамична.Поэтому мне нужен динамический хэш-файл, к которому можно обращаться более чем в одном классе.

Спасибо за помощь.Mahaveer.mahaveermuttha@gmail.com

Ответы [ 3 ]

1 голос
/ 26 августа 2011

Android предоставляет Application Context, который вы можете создать подклассом и использовать его в других действиях. Шаги (я также выделю ссылки, чтобы вы могли прочитать важные вещи):

  • Измените свой манифест Android , чтобы включить пользовательское приложение. Посмотрите на следующий раздел в вашем AndroidManifest.xml


    <application android:icon="@drawable/icon" android:label="@string/app_name"
            android:theme="@android:style/Theme.NoTitleBar" android:name="com.mypackage.application.MyCustomApplication">
....

android: name = "com.mypackage.application.MyCustomApplication", ссылающийся на класс MyCustomApplication, который является подклассом Application , который вы собираетесь создать

  • Теперь пришло время сделать свой подкласс. Здесь вы хотите убедиться, что вы включили HashMap как часть его переменной. Таким образом, ваш подкласс будет выглядеть как

    public class  MyCustomApplication extends Application {
        HashMap myMap;

        public MyCustomApplication() {
            this.myMap = new HashMap();
        }

        public HashMap getMyMap() {
            return myMap;
        }
    }
  • Как только вы это сделаете, теперь вы можете получить доступ к своей карте из любого занятия, вызвав getApplication () . Убедитесь, что вы привели Приложение к MyCustomApplication, чтобы правильно его использовать, и получите доступ к методу getMyMap ()

Дайте мне знать, если вам нужны дальнейшие разъяснения

0 голосов
/ 26 августа 2011

Вот отличный ответ на похожий вопрос: Как объявить глобальные переменные в Android? Проверь это. это стоит.

0 голосов
/ 26 августа 2011

Вы можете попробовать создать пользовательский объект Application и сделать HashMap полем для этого объекта Application.Все ваши Услуги и Действия могут получить к нему доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...