Лучший способ для мобильного приложения отображать записи из тысяч доступных? - PullRequest
2 голосов
/ 11 февраля 2010

Предположим, у вас есть большая база данных клиентов, например, 5000 записей. С помощью простого запроса на выбор в мобильном приложении может потребоваться 2-5 секунд, чтобы заполнить список со всеми тысячами доступных клиентов.

Но пользователю нужно только выбрать один, так как лучше выбрать клиента? Если у вас есть несколько записей, например: 50 клиентов, список прокрутки для выбора - лучший способ сделать это, но что вы делаете, чтобы удовлетворить выбор для выбора из тысяч?

Как бы вы задали этот вопрос для отображения предметов инвентаря, чтобы включить их в счет?
Это отличается от ситуации с клиентом, поскольку вы будете неоднократно добавлять товарно-материальные запасы в накладную?

РЕДАКТИРОВАТЬ 1
Я обращаюсь с клиентом к базе данных клиентов / базе данных клиентов

Ответы [ 5 ]

2 голосов
/ 11 февраля 2010

На мобильном устройстве с его маленькими экранами и ограниченным вводом вы управляете большими наборами данных, используя иерархическое отображение данных, чтобы начать с абстракций полного набора, а затем перейти к фактическим отдельным записям.

Все данные могут быть разделены на подгруппы, которые имеют свои собственные подгруппы и так далее. Чтобы отобразить большие наборы данных на мобильном устройстве, вы просто находите подгруппы и отображаете их в порядке от наибольшего к наименьшему и / или от общего к наиболее конкретному.

Например, скажем, у вас есть большая база данных одежды. Одежда имеет несколько давно созданных и приемлемых в культурном отношении подкатегорий, поэтому вы можете использовать их для маскировки размера и сложности, точно так же, как универмаг использует категории для направления покупателей в нужный отдел.

Когда пользователь открывает приложение, оно выполняет запрос для получения подкатегорий наивысшего уровня. В этом примере это будет Детский, Мужской и Женский. Когда пользователь выбирает, скажем, мужскую посуду, он получает список категорий мужской посуды, например, сезоны. Затем типы одежды, рубашки, брюки и т. Д. Затем атрибуты конкретных типов одежды и далее вплоть до конкретного предмета одежды.

Таким образом, типичный ввод для пользователей будет выглядеть примерно так: мужская одежда -> летняя одежда -> рубашки -> хлопок -> марка -> цвет -> список рубашек -> конкретная рубашка. На каждом этапе приложение отображает только несколько параметров для выбора пользователем.

Поиски могут быть хитрыми. Печатание в детальном поиске может быть затруднено на мобильном телефоне, но при широком поиске можно вернуться ко многим элементам. Я думаю, что поиск должен иметь некоторые автоматические ограничения, такие как разрешение пользователю выбирать условия поиска по категории из списка управляемого размера. Если поиск не может быть ограничен разумным диапазоном, его результаты также должны отображаться в иерархии.

Как бы вы задали этот вопрос отображать предметы инвентаря для включения их на счете?

Я бы использовал переключаемый вид. На iPhone это будет панель вкладок. На одной вкладке будет ваш счет, а на другой - иерархическая навигация для системы инвентаризации. Когда вы выбрали товары на вкладке «Инвентарь», они добавились бы на вкладку «Счет-фактура». (Если вы используете правильно сконфигурированную модель данных, это произойдет автоматически.) Пользователь может легко переключаться с добавления товаров из инвентаря на просмотр своего счета.

Edit01:

Я незнаком с Android, но на iPhone у вас может быть индекс для очень больших таблиц, который позволяет переходить по таблицам, которые могут содержать сотни записей. Посмотрите на контактное приложение для примера индекса.

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

Edit02:

Вы не учли последствия для обслуживания данных. Если Вы добавляете много категорий против предметов инвентаря, есть высокие накладные расходы на поддержание тех, категории для конечного пользователя: инвентарь Группа> Подгруппа> Подгруппа> подгруппа> подгруппа> индивидуум пункт Конечный пользователь должен определить и поддерживать иерархию, а затем правильно классифицировать каждый инвентарь пункт в каждой категории. Это большой работа.

Ну, вы не спрашивали об обслуживании и обновлении. Вы спросили, как отображать большие объемы данных, из которых пользователю нужно выбрать только одну запись.

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

У вас всегда есть возможность просто создать поиск, но, опять же, сложные поиски сложнее набрать на мобильном телефоне. Чтобы обойти эту проблему, вы можете использовать творческий поиск. Например, вы можете просто ввести имя пользователя в первой букве как имени, так и фамилии, а затем выполнить поиск по нему, чтобы получить список управляемых размеров.

1 голос
/ 12 февраля 2010

Вы делаете это так же, как на настольном компьютере или в веб-приложении: ищите. Пусть они выполняют поиск по частичным именам или другим критериям и показывают совпадения. Для предметов инвентаря, вы ищете по коду предмета или имени или категории. Для клиентов вы выполняете поиск по частичному имени, коду клиента или городу.

0 голосов
/ 11 февраля 2010

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

0 голосов
/ 11 февраля 2010

А как насчет добавления второго слоя навигации? Вместо отображения ВСЕХ клиентов в одном списке, вы могли бы иметь один список, отображающий буквы A - Z, щелкнув по букве, можно отобразить только клиентов с фамилией, начинающейся с A, и т. Д ...

0 голосов
/ 11 февраля 2010

Возможно, использование фильтра - хорошая альтернатива? Конечно, это зависит от ситуации, но может помочь.

Информация о создании хорошего фильтра: Как динамически обновить ListView на Android

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...