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"));
Другие вопросы по тегам