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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 423
#1

SharedPreferences. Чудеса при putString/getString - Программирование Android

20.06.2014, 16:53. Просмотров 681. Ответов 2
Метки нет (Все метки)

Java
1
2
3
4
5
6
7
8
9
10
11
static SharedPreferences mSettings = PreferenceManager.getDefaultSharedPreferences(this);
 
String value_1 = "trade1.db";
 
//записываем
SharedPreferences.Editor editor = mSettings.edit();
editor.putString("test", value_1);
editor.apply();
 
//считываем
String value_2 = mSettings.getString("test", "");
В итоге если смотреть отладчиком, то значения value_1="trade1.db" и value_2="trade1.db".
Первое значение отладик описывает как char[9], а второе значение как char[16]. При этом видно, что начиная с 10-го символа идут смволы "\u0000".
То ли неверно записывается, то ли неверно считывается.
Скажите, почему так происходит и как предотвратить это?
При записи/чтения "trade.db" и "trade2.db" всё проходит нормально.

Добавлено через 2 часа 47 минут
Как оказалось, SharedPreferences не при чем.
Но проблема остается!
Java
1
2
3
4
int number = 1;
String result1 = "abcde1"; //в отладчике: char[6], "abcde1"
String result2 = "abcde" + number; //в отладчике: char[16], "abcde1"
boolean is_equals = result1.equals(result2); //тут true
Если в 3-й строке вместо переменной number вставить число 1, то всё нормально.
Что за черт? Откуда лишние символы?

Добавлено через 13 минут
Java
1
String result3 = "abcde".concat("" + number);
Вот при такой конкатенции строк не появляются лишние символы.
Почему раньше не сталкивался, не знаю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2014, 16:53     SharedPreferences. Чудеса при putString/getString
Посмотрите здесь:

SharedPreferences putString и getString - Программирование Android
Здравствуйте! Хотел спросить как можно сделать сохранения данных для строковых значений чтобы она сохранилось и передавалось в дргуое...

При повторном запуске приложения не загружаются сохраненные значения SharedPreferences - Программирование Android
Всем привет. сразу пишу, что андроид начал изучать недавно. В общем, в программке надо реализовать сохранение введенного или выбранного из...

Как проверить пустое SharedPreferences или нет при загрузке активити? - Программирование Android
У меня вот такая задача при первой загрузке приложения ничего. В строку ввода я ввожу разные фразы и сохраняю в preferences. При следующей...

При переносе приложения на карту памяти где хранятся SharedPreferences, SQLite базы и тп ? - Программирование Android
Где хранятся настройки SharedPreferences, SQLite базы и тд? Нужно ли что то дополнительно прописывать или при переносе на карту памяти...

Крашиться при запросе String number = c.getString(c.getColumnIndex("address"); - Программирование Android
http://rghost.ru/6FKfffYZG крашится на 88 строке почему? проект - http://rghost.ru/6FKfffYZG package com.vrs.smsapp;

GetString и оператор ? - Программирование Android
В методе onCreate имеется строка myTextView.setText(flag? getString(R.string.my_text) : ""); где flag - это статическая переменная. ...

Функция обратная getString() - Программирование Android
Здравствуйте, всем. Часто использую getString(R.string.somestring, value1, value2) применительно к TextView.setText(); Далее...

GetString не работает в классах? - Программирование Android
public class FotoLab { private static FotoLab sFotoLab; private Context mAppContext; private ArrayList<Foto> mFoto; ...

SharedPreferences - Программирование Android
Всем привет, вопрос: Как через SharedPreferences сохранять "String текст", я многое перепробовал но вылет... Вылет... Не могли бы...

SharedPreferences - Программирование Android
выручайте, в чем ошибка? выводит 94 и 95, а должно 84 и 85 public class MainActivity extends Activity { Intent intent; ...

SharedPreferences - Программирование Android
Можно как-то сохранить SharedPreferences файл после перезагрузки девайса? P.S. как хранятся данные на девайсе в приложении Вк и ему...

SharedPreferences - Программирование Android
как сохранить целое значение в SharedPreferences?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 596
20.06.2014, 19:46     SharedPreferences. Чудеса при putString/getString #2
Попробуйте использовать String.valueOf (number);
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 423
23.06.2014, 09:20  [ТС]     SharedPreferences. Чудеса при putString/getString #3
Нет. Так тоже лишние символы.
Так что использую concat().
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru