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

В чем хранить данные? - Android

Восстановить пароль Регистрация
 
asttoxa
0 / 0 / 0
Регистрация: 25.10.2016
Сообщений: 11
27.10.2016, 15:52     В чем хранить данные? #1
Ребят я в андроиде новичок. Подскажите пожалуйста.
Не могу сообразить как лучше хранить и выводить в CardView

Есть класс Ингредиентов в нем также хранится массив объектов Ingr. Пока так, потом переведу в базу SQLite.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Ingr{
    private String name;
    private String description;
   
 
    public static final Ingr[] ingrs= {
            new Ingr("Мука", "мука"),
            new Ingr("Соль", "соль"),
            new Ingr("Вода", "вода"),
            new Ingr("Сахар", "сахар"),
            new Ingr("Варенье", "варенье")
    };
    Ingr(String name, String description) {
        this.name = name;
        this.description = description;
    }
}
Есть класс Рецептов.
Java
1
2
3
4
5
6
7
8
9
10
11
12
class Reciept {
    private String name;
    private String description;
    private Ingr[] ingrs;
 
 
    Reciept(String name, String description, Ingr[] ingr) {
        this.name = name;
        this.description = description;
        this.ingrs= ingrs;
    }
}
Так вот нужно сделать так, чтобы в составе каждого класса рецепта был Массив ингредиентов с количеством (!)
Вопрос вот в чем. В чем лучше хранить, я догадываюсь, что массив тут не в тему. Количество ингредиентов в рецепте не постоянно. Тоесть в одном может 1 быть в другом все 10.

Чтобы после этого всю эту красоту вывести в Layout c RecyclerView в виде CardView (только с нужной мне инфой)
Как делать свой Recycler адаптер и выводить я вроде как понял. А вот как мой самолет заставить взлететь не понятно. Поделитесь в какую сторону капать мне.
Заранее благодарю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2016, 15:52     В чем хранить данные?
Посмотрите здесь:

Хранить LogCat в файле Android
Android Программирование с нуля - на чем и в чем пишутся программы
Где хранить данные проекта Android
Приложение "Рецепты", как хранить данные? Android
Как лучше всего хранить данные для приложения? Android
Как хранить данные в интернете (хостинг, облако)? Android
Android Безопасно ли хранить данные в SQLite?
Как лучше хранить небольшие (до 50 записей) и крупные до 600-1000 записей данные? Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
не спать!
1788 / 1522 / 474
Регистрация: 12.05.2014
Сообщений: 5,559
Завершенные тесты: 1
27.10.2016, 16:06     В чем хранить данные? #2
если я правильно понял вопрос от вместо массива надо использовать ArrayList
asttoxa
0 / 0 / 0
Регистрация: 25.10.2016
Сообщений: 11
27.10.2016, 16:19  [ТС]     В чем хранить данные? #3
Вопрос как в ArrayList хранить еще количество того или иного ингредиента? Два массива включать в одном ингредиенты в другом количество каждого из них?
shavuz
55 / 61 / 10
Регистрация: 29.01.2014
Сообщений: 299
27.10.2016, 16:45     В чем хранить данные? #4
вот так

Java
1
private List<Reciepe> mReciepesList = new ArrayList<>();
где Receipe Это класс рецепта содержащий какие хотите поля
asttoxa
0 / 0 / 0
Регистрация: 25.10.2016
Сообщений: 11
27.10.2016, 17:23  [ТС]     В чем хранить данные? #5
В рецепте у меня должно быть название описание и список ингредиентов с количеством каждого ингредиента. Вот в чем соль.
Как пользоваться ArrayList я знаю. Я хотел спросить у Андроид-гуру как обычно это делают. Чтобы не изобретать велосипеды.
Единственное что мне пришло в голову это запихнуть в ArrayList
1) Название рецепта
2) Описание
3) ArrayList ингредиентов
4) ArrayList концентрации каждого ингредиента.

И когда мне нужно будет показать сколько чего в рецепте, я должен буду циклом бежать по рецептам, а затем выдирать по Индесу полученному от рецепта, количество с тем же индексом...

Но почему то такая схема вызывает у меня смущение. Как то по деревянному чтоль. И есть такое чувство, что более опытные человеки делают это более красиво.

Поэтому собственно тут и спросил, чтобы наставили на путь истинный.
shavuz
55 / 61 / 10
Регистрация: 29.01.2014
Сообщений: 299
27.10.2016, 17:39     В чем хранить данные? #6
вот так нужно делать:
класс рецепт:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class Receipe
{
    private String mName;
    private String mDescription;
    private List<Ingredient> mIngredientsesList;
 
    public Receipe(String name, String description, List<Ingredient> ingredientsesList)
    {
        mName = name;
        mDescription = description;
        mIngredientsesList = ingredientsesList;
    }
 
    public String getName()
    {
        return mName;
    }
 
    public void setName(String name)
    {
        mName = name;
    }
 
    public String getDescription()
    {
        return mDescription;
    }
 
    public void setDescription(String description)
    {
        mDescription = description;
    }
 
    public List<Ingredient> getIngredientsesList()
    {
        return mIngredientsesList;
    }
 
    public void setIngredientsesList(List<Ingredients> ingredientsesList)
    {
        mIngredientsesList = ingredientsesList;
    }
}
класс ингридиент:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class Ingredient
{
    private String mIngridientName;
    private String mConcentration;
 
    public Ingredient(String ingridientName, String concentration)
    {
        mIngridientName = ingridientName;
        mConcentration = concentration;
    }
 
    public String getIngridientName()
    {
        return mIngridientName;
    }
 
    public void setIngridientName(String ingridientName)
    {
        mIngridientName = ingridientName;
    }
 
    public String getConcentration()
    {
        return mConcentration;
    }
 
    public void setConcentration(String concentration)
    {
        mConcentration = concentration;
    }
}
а создаете так как я вам раньше писал

Добавлено через 4 минуты
таким образом у вас есть рецепт в котором есть имя, описание и список ингридиентов в котором есть имя каждого ингридиента и концентрация.
Yandex
Объявления
27.10.2016, 17:39     В чем хранить данные?
Ответ Создать тему
Опции темы

Текущее время: 02:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru