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

SharedPreferences. Чудеса при putString/getString - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android StartActivity() не закрывается http://www.cyberforum.ru/android-dev/thread1212963.html
Здравствуйте. Чтобы перейти на другую Activity можно использовать startActivity() как нить так public void onClick(View v) { Intent intent = new Intent(HelloWorld.this, AboutActivity.class); startActivity(intent); } Мне нужно, чтобы юзер переходил на сайт из моего приложения, я делаю так public boolean Exittouch(MotionEvent event){ if(event.getAction()==MotionEvent.ACTION_DOWN){ Intent...
Android Исходник теста Добрый день! Если у кого-нибудь есть исходник обычного теста состоящий из вопросов и нескольких вариантов ответа скиньте пожалуйста очень нужно http://www.cyberforum.ru/android-dev/thread1212901.html
Android Взаимодействие с сайтом
Есть сайт, на нем есть что то типа счетчика лайков. Есть ссылки на увеличение и на уменьшение этого счетчика. Собсно как отправить запрос на увеличение\уменьшения счетчика не переходя в окно браузера?
Android Решить проблему с эмулятором в Android Studio
Можно ли в студии после компиляции не перекидывать программу на устройство, а запускать мою программу(на Делфи)? Пока нашел только выбор - запустить через ЮСБ (или эмуляция через ви-фи), отправить на эмулятор или выбирать каждый раз. Еще нашел как выполнить свою программу ПЕРЕД компиляцией. Но не после! И не отменив отправку... Понимаю, вопрос не для новичков, но может кто знает? Может...
Android Описание БД внутри самой БД SQLite http://www.cyberforum.ru/android-dev/thread1212345.html
Скажите, SQLite не позволяет сохранять в БД описание самой БД (типа комментария)?
Android Не работает кнопка "Home" Здравствуйте. Аппаратные кнопки можно обрабатывать через KeyEvent например так @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_BACK)BTNback(); if (keyCode == KeyEvent.KEYCODE_MENU)BTNmenu(); if (keyCode == KeyEvent.KEYCODE_HOME)BTNhome(); // не работает!!!!!!!!!!!!!!!!!!!!!!!!!! return true; // return... подробнее

Показать сообщение отдельно
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 415

SharedPreferences. Чудеса при putString/getString - Android

20.06.2014, 16:53. Просмотров 666. Ответов 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);
Вот при такой конкатенции строк не появляются лишние символы.
Почему раньше не сталкивался, не знаю.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru