Android: Можно ли использовать значения содержимого в качестве связанных массивов?

#android

#Android

Вопрос:

Я создаю SQLiteOpenHelper и хочу отправить несколько столбцов со столбцами в качестве ключа и возвращаемыми значениями в виде связанной строки. Не удается найти какие-либо связанные массивы в Android, кроме как с помощью HashMap. Могу ли я использовать значения содержимого в качестве связанных массивов?

Комментарии:

1. Что плохого в использовании HashMap ?

2. Ничего. Просто немного новичок и не так хорошо знаком с HashMap. LazyFellowAlert здесь….

Ответ №1:

Вы не очень хорошо описали, чего вы пытаетесь достичь, но есть два варианта:

  1. Используйте HashMap (или любой Map , если уж на то пошло) — и помещайте в него значения:

     Map<String, String> values = new HashMap<String, String>();
    values.put("key1", "value1");
    values.put("key2", "value2");
      

    Затем, когда вам нужно получить значения, извлеките их из карты.

  2. Вы можете использовать ContentValues — и помещать в него значения. Код был бы практически таким же.

Какой вариант вы выберете, зависит от ваших предпочтений, а также от того, что вы пытаетесь сделать. Если внутри вашего помощника SQLite вы планируете использовать эти значения для вставки / обновления записей в базе данных, то вы могли бы также просто использовать ContentValues — в противном случае вам все равно пришлось бы извлекать их из HashMap и помещать в ContentValues .

Комментарии:

1. Спасибо за разъяснение. Я хочу отправить значения нескольких столбцов в мой MainActivity и хочу заполнить фрагмент для пользователя на основе этих значений. Я был сбит с толку хэш-картами и увидел значения содержимого во время чтения руководства по классу DBHelper. Не мог понять, почему не использовать значения содержимого вместо HashMap, поскольку я искал и не нашел ссылки, объясняющей причину. Итак, подумал получить совет эксперта о том, почему бы не использовать ContentValues. Я имею в виду любую проблему и т.д.

2. Только что обнаружил при чтении реализации ContentValue, что на самом деле это HashMap<Строка, объект> . 🙂