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

SharedPreferences, HashMap - Android

Восстановить пароль Регистрация
Другие темы раздела
Xamarin Xamarin developer Android. Отправка Method Post http://www.cyberforum.ru/android-dev/thread1587066.html
Здравствуйте товарищи программисты, я начинаю изучать xamarin, и тут столкнулся с проблемой... Как правильно отправить на сервер Логин и пароль? Сервер PHP http://panel.serv-host.org/login.php <form action="process.php" method="post"> <input type="hidden" name="task" value="login" /> <input type="hidden" name="return" value="" /> <table border="0" cellpadding="0"...
Android Проверка валидности покупки сторонним сервером Возможно ли следующее: Андроид устройства покупает контент через гугл и полученный JSON ответ отправляет на свой сервер, а этот сервер уже запрашивает сервер google на валидность покупки отправляя туда тот же JSON(идентификатор покупки) http://www.cyberforum.ru/android-dev/thread1587062.html
HTML ссылки в Android Android
Здравствуйте. Есть TextView, в который загружается HTML-код, в том числе и ссылки. Собственно по нажатию на ссылку она открывается в браузере (т.е. не в моем приложении). Вопрос 1: как отловить по какой ссылке перешел пользователь? (т.е. в TextView есть несколько ссылок, пользователь, например, перешел по ссылке "a", браузер открылся, но в мое приложение в какую-то переменную...
Android Ищу программиста в интересный фитнес проект
Добрый день, необходимо разработать android приложение . Сейчас существует приложение на технологии 1c bitrix мобильное приложение (и серверная часть api готова ), к сожалению с ним работать без доступа в интернет нельзя. Поэтому встала задача сделать полностью нативное приложение которое может работать без интернета и при его появлении синхронизироваться с сервером. Описание задачи: Сам...
Android Покупки, подписки в приложении http://www.cyberforum.ru/android-dev/thread1586923.html
Использую библиотеку https://github.com/anjlab/android-inapp-billing-v3 Может кто использовал и знает ответы на мои вопросы?) 1) Как я понял список контента для продажи составляется при компиляции приложения? - SUBSCRIPTION ID, PRODUCT ID. А как быть если через некоторое время после публикации добавится еще что-то для продажи...? Или можно получить List контента для продажи из гугла? 2) У...
Android Поменять z-index <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/instruction" android:textSize="12dp" android:id="@+id/button24" android:background="@drawable/hbutton" android:layout_alignParentBottom="true" android:layout_alignLeft="@+id/button20" ... подробнее

Показать сообщение отдельно
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
21.11.2015, 11:50     SharedPreferences, HashMap
Василевский, исправил,
Цитата Сообщение от YuraAAA Посмотреть сообщение
i < split.length - 2
тут конечно же -1.
Вот рабочий код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public static final String MAP_SP_KEY = "map";
    public static final String KEY_VALUE_DELIMITER = ";";
    private SharedPreferences preferences;
 
    private SharedPreferences getSharedPreferences() {
        if (preferences == null) preferences = getApplicationContext().getSharedPreferences("MyVariables", MODE_PRIVATE);
        return preferences;
    }
 
    private void saveMap(Map<String, String> map) {
        StringBuilder sb = new StringBuilder();
        for (String key : map.keySet()) {
            sb.append(key).append(KEY_VALUE_DELIMITER).append(map.get(key)).append(KEY_VALUE_DELIMITER);
        }
        getSharedPreferences().edit().putString(MAP_SP_KEY, sb.toString()).apply();
    }
 
    private Map<String, String> getMap() {
        Map<String, String> map = new HashMap<>();
        String string = getSharedPreferences().getString(MAP_SP_KEY, "");
        if (!string.isEmpty()) {
            String[] split = string.split(KEY_VALUE_DELIMITER);
            if (split.length > 1) {
                for (int i = 0; i < split.length - 1; i = i + 2) {
                    map.put(split[i], split[i + 1]);
                }
            }
        }
        return map;
    }
Вот так проверил:

Java
1
2
3
4
5
6
7
Map<String, String> map = new HashMap<String, String>() {{
            put("Key", "Value");
            put("Key2", "Value");
        }};
saveMap(map);
Map<String, String> stringStringMap = getMap();
Log.d("MAP", stringStringMap.toString());

Вот вывод в логах:
D/MAP: {Key=Value, Key2=Value}
 
Текущее время: 11:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru