2013-11-01 3 views
2

Прежде всего извините за мой очень плохой английский ...Как сделать диалог поиска?

Я очень новый разработчик, и я очень запутался в поисковой операции. На самом деле я хочу сделать приложение для приготовления пищи и приготовления пищи (с множеством рецептов и т. Д.), И я хочу добавить к нему действие поиска, чтобы пользователь мог добавить несколько вещей (например, ингредиенты) и показать приложение продукты, которые имеют эти вещи в своих ингредиентах.

Теперь у меня есть два вопроса.

Во-первых, как я могу добавить теги в свои «рецептурные действия», поэтому, когда ингредиент, набранный в приложении, знает, какие рецепты должны показывать? (Мои рецепты не находятся в текстовом режиме, все они в изображениях).

Во-вторых, как я могу полностью отделить ключевые слова для поиска с помощью «,»? для поиска правильных рецептов. (пример: тип «помидор», «курица», «яйцо», и приложение показывает ему рецепты, которые имеют эти вещи в своих ингредиентах.)

Я знаю вас, что теперь вы так смеетесь за моего грамматика :), поэтому после того, как вы достаточно посмеялись, ответьте на мои вопросы. Благодарю вас, SOOOOOOOOO MUUUUUUUUUCH.

+0

Ваш английский не так уж плох;) :-): D –

ответ

1
  1. Вы можете использовать что-то вроде карты для ингредиентов каждого рецепта в а-ля:

    класс Рецепт
    -name: String
    -ingredients: Карта < String, Количество> или Set < String>

, где Количество представляет собой все неприятные функции, используемые в кулинарии, как ложки, чашки, щипцы. Затем вы можете искать ключи от ингредиентов каждого рецепта. Имя будет тегом, о котором вы упоминали.

  1. Вы можете прочитать строку поиска, проанализировать ее (например, в массив с регулярным выражением) и поместить в Set, чтобы избежать дубликатов.
+0

спасибо за ваш ответ. можете ли вы более подробно объяснить «карту»? или если бы вы могли просто дать мне правильный ресурс, было бы здорово. –

+0

http://docs.oracle.com/javase/tutorial/collections/interfaces/map.html карта - всего лишь пара. ключи не дублируются, значения могут быть дублированы, допускается один нулевой ключ, который иногда используется для значений по умолчанию (например, http://stackoverflow.com/questions/2945309/hashmap-null-key) –

+0

как для карты : например у нас есть рецепт салата YouNameIt с 2 помидорами, сыром 100 г и пучком листьев рукколы. количество здесь описывается как кусочки (овощи) и вес. Тогда ваше количество может быть абстрактным классом с реализацией для каждого типа измерения (см. Sth о шаблонах, может быть, фабрика?), Но проще (и более разумным :)) было бы использовать только строку, особенно если ваши рецепты являются изображениями. Таким образом, в этом случае это было бы так: ингредиенты: [«томат» = «2», «сыр» = «100 г», «рукодельные листья» = «гроздь»]. –

Смежные вопросы