Android Java Array из настроек
В моих предпочтениях у меня есть список из 10 номеров мобильных телефонов. Каждый ключ предпочтения - это sms1, sms2, sms3 и т. Д.
Моя цель - создать SMS или сообщение с несколькими адресатами для отправки. Для этого строка to: для sms должна быть sms1, sms2 и т. Д., Разделенных запятыми.
Я пытаюсь создать цикл, который будет создавать массив PhoneNumber, который будет использоваться в sms to: filed. Чтобы сделать это, цикл должен пройти через каждый смс-ключ в настройках и построить массив. Я не совсем понял это правильно:
SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(mContext);
String[] PhoneNumber = new String[12];
for(int smscount = 1; smscount < 11; smscount ++){
String RescueSMS = "sms" + smscount;
PhoneNumber[smscount] = RescueSMS + ",";
Log.w("MESSAGE", "SMS Array is " + PhoneNumber);
}
Приведенный выше код на самом деле ничего не тянет принять строку выделения памяти. "Получить" из предпочтений было настолько запутано, что мне пришлось его убрать. Есть идеи?
1 ответ
Чтобы сохранить данные в общих настройках:
SharedPreferences shared = getSharedPreferences(PREF_NAME, MODE_PRIVATE);
SharedPreferences.Editor editor = shared.edit();
editor.putString(sms1, number1);
editor.putString(sms2, number2);
......
editor.putString(sms10, number10);
editor.commit();// commit is important here.
Чтобы получить его, вы можете попробовать что-то вроде:
String[] PhoneNumber = new String[12];
for(int smscount = 1; smscount < 11; smscount ++){
PhoneNumber[smscount-1] = (shared.getString("sms" + smscount, "DEFAULT NUMBER HERE"));
Log.w("MESSAGE", "SMS Array is " + PhoneNumber);
Log.w("MESSAGE", "SMS Array is " + Arrays.toString(PhoneNumber)); // This will give comma separated string by default.
}
Примечание: приведенный выше цикл будет похож на:
PhoneNumber[0] = (shared.getString("sms1", "DEFAULT NUMBER HERE"));
PhoneNumber[1] = (shared.getString("sms2", "DEFAULT NUMBER HERE"));
......
PhoneNumber[9] = (shared.getString("sms10", "DEFAULT NUMBER HERE"));