Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
asttoxa
0 / 0 / 0
Регистрация: 25.10.2016
Сообщений: 62
#1

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

27.10.2016, 15:52. Просмотров 293. Ответов 5
Метки нет (Все метки)

Ребят я в андроиде новичок. Подскажите пожалуйста.
Не могу сообразить как лучше хранить и выводить в 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 адаптер и выводить я вроде как понял. А вот как мой самолет заставить взлететь не понятно. Поделитесь в какую сторону капать мне.
Заранее благодарю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2016, 15:52
Ответы с готовыми решениями:

Где хранить данные проекта
В программе нужно много текстовой информации, надо разместить её в файлах. Я...

Безопасно ли хранить данные в SQLite?
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Безопасно...

Как хранить данные в интернете (хостинг, облако)?
Здравствуйте , уважаемые программисты! Не могли бы вы мне помочь? Как хранить...

Как лучше всего хранить данные для приложения?
Допустим есть статический массив интов,или булов.Как его сохранять(onDestroy())...

Как лучше хранить небольшие (до 50 записей) и крупные до 600-1000 записей данные?
Разрабатываю первое собственное приложение. Стою перед архитектурным выбором, и...

5
Pablito
2665 / 2147 / 729
Регистрация: 12.05.2014
Сообщений: 7,494
Завершенные тесты: 1
27.10.2016, 16:06 #2
если я правильно понял вопрос от вместо массива надо использовать ArrayList
0
asttoxa
0 / 0 / 0
Регистрация: 25.10.2016
Сообщений: 62
27.10.2016, 16:19  [ТС] #3
Вопрос как в ArrayList хранить еще количество того или иного ингредиента? Два массива включать в одном ингредиенты в другом количество каждого из них?
0
shavuz
114 / 120 / 25
Регистрация: 29.01.2014
Сообщений: 596
27.10.2016, 16:45 #4
вот так

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

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

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

Поэтому собственно тут и спросил, чтобы наставили на путь истинный.
0
shavuz
114 / 120 / 25
Регистрация: 29.01.2014
Сообщений: 596
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 минуты
таким образом у вас есть рецепт в котором есть имя, описание и список ингридиентов в котором есть имя каждого ингридиента и концентрация.
1
27.10.2016, 17:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2016, 17:39

Приложение "Рецепты", как хранить данные?
Есть такой вордовский файл с рецептами. Голубцы с картофелем - картофель -...

Программирование с нуля - на чем и в чем пишутся программы
Доброго времени суток. Хочу попробовать в программировании на андроид, и немогу...

Хранить LogCat в файле
Можно ли записывать в файл LogCat ? т.е. вот например написал прогу , а...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru