Форум программистов, компьютерный форум CyberForum.ru

Вытащить из HashSet объект HashMap - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Импорт из Eclipse в Android Studio: ошибка http://www.cyberforum.ru/android-dev/thread1391563.html
при импорте из Eclipse в AS, выскакивает ошибка, как лечить кто знает ?
Программирование Android Проверка свежей версии на GooglePlay Пробую проверять на GooglePlay свежую версия программы с помощью androidquery. Для теста в манифесте понизил versionCode и versionName. Проверяю: MarketService ms = new MarketService(this); ms.level(MarketService.MINOR).checkVersion(); Но ничего не происходит. Не подскажете ли, почему? Добавлено через 2 часа 58 минут http://www.cyberforum.ru/android-dev/thread1391561.html
Получение ориентации Программирование Android
Добрый день! Хочу узнать ориентацию, написал функцию: public void getOrintashion () { TextView orint = (TextView)findViewById(R.id.textView1); TextView kod = (TextView)findViewById(R.id.textView2); if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
Темы и стили Программирование Android
Всем привет, предположим в приложении есть два листвью которые отрисовываются по разному т.е есть два каких то стиля <style name="CustomListView1" parent="@android:style/Widget.ListView"> ... </style> <style name="CustomListView2" parent="@android:style/Widget.ListView"> ... </style>
Программирование Android Меню, которое выезжает поверх другого http://www.cyberforum.ru/android-dev/thread1391388.html
Как сделать такое меню которое выезжает поверх другого? Пример картинка
Программирование Android Не могу передать массив на сервер Здравствуйте. Хочу попробовать передать массив на сервер. К примеру список вопросов. Но в итоге имею ошибку: E/JSON Parser(20752): Error parsing data org.json.JSONException: End of input at character 0 of MainActivity public class MainActivity extends Activity{ private EditText et1, et2, et3; //отсюда берем текст private Button button1; // при нажатии отправляем private... подробнее

Показать сообщение отдельно
Serbis
3 / 3 / 2
Регистрация: 13.07.2012
Сообщений: 123

Вытащить из HashSet объект HashMap - Программирование Android

10.03.2015, 17:29. Просмотров 530. Ответов 3
Метки (Все метки)

В первую очередь хочу высказать недоумение касаемо того, зачем разработчики системы в качестве массивов в Shared Preference выбрали столько неподходящий для этой задачи HashSet. И так, есть вот такой код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
name.add(String.valueOf(etName.getText()));     //Добавляем в массив текущих значений то что мы взяли в диалоге
                id.add(String.valueOf(etId.getText()));
 
                for (int i = 0; i < name.size(); i++) {     //Перевеодим мтз в хеш объеты
                    m = new HashMap<String, Object>();
                    m.put(ATTRIBUTE_NAME_NAME, name.get(i));
                    m.put(ATTRIBUTE_NAME_ID, id.get(i));
                    setConnection.add(m);
 
                }
 
                SharedPreferences.Editor editor = mSettings.edit();
                editor.putStringSet(APP_PREFERENCES_CONNECTION_NAME, setConnection);      //Пишем хеш объекты в настройки
                editor.apply();
Добавлено через 6 минут
В первую очередь хочу высказать недоумение касаемо того, зачем разработчики системы в качестве массивов в Shared Preference выбрали столько неподходящий для этой задачи HashSet. И так, есть вот такой код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
                name.add(String.valueOf(etName.getText()));     //Добавляем в массив текущих значений то что мы взяли в диалоге
                id.add(String.valueOf(etId.getText()));
 
                for (int i = 0; i < name.size(); i++) {     
                    m = new HashMap<String, Object>();
                    m.put(ATTRIBUTE_NAME_NAME, name.get(i));
                    m.put(ATTRIBUTE_NAME_ID, id.get(i));
                    setConnection.add(m);
 
                }
 
                SharedPreferences.Editor editor = mSettings.edit();
                editor.putStringSet(APP_PREFERENCES_CONNECTION_NAME, setConnection);      //Пишем хеш объекты в настройки
                editor.apply();
И он делает то, что от него просят, в файле настроек формируется записи вот такого рода

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <set name="connection_name">
        <map>
            <string name="id">222</string>
            <string name="name">bbb</string>
        </map>
        <map>
            <string name="id">333</string>
            <string name="name">ccc</string>
        </map>
        <map>
            <string name="id">111</string>
            <string name="name">aaa</string>
        </map>
    </set>
</map>
А вот теперь вопрос, как это оттуда вытащить, если HashSet умеет приводится только к String[] и из него нельзя вытащить элемент по позиции. С просто массивом все работает вот так:

Java
1
2
3
4
5
                String[] arrConnection = (String[]) setName.toArray(new String[setName.size()]);      //Приводим хеш к строковому массиву
 
                for (int i = 0; i < arrConnection.size(); i++) {      //Инициируем мтз из полученного строкового массива
                    name.add(arrName[i]);
                }
Что делать в таком случае с HashMap?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru