Термінал збору даних на основі телефону Google Android (перша частина)

Автор:   Кравченко Андрій, mail@andriy.co

Як відомо, ANDRIY.CO в арсеналі своїх розробок має досить успішний продукт TCU Mobile. На жаль, час життя платформи Windows Mobile добігає кінця. Але життя не стоїть на місці, їй на зміну приходять нові платформи. Весь 2010 рік ми уважно стежили за розвитком нових платформ, порівнювали технології, перспективи розвитку і привабливість рішень на їх базі. Як відомо, рішення на мобільних платформах для бізнесу мають свою специфіку. Критерії мобільного ПЗ для бізнесу сильно відрізняються від мобільного ПЗ для особистого користування.

    Опишемо ці критерії.
  1. КПК (смартфон) не повинен бути дорогим. Компанія-дистрибутор рідко купує один пристрій. Зазвичай рахунок йде на десятки. Звичайно ж, перевагу буде віддано тому пристрою, який коштує 200 доларів, а не тому пристрою, який обійдеться в 400-600 доларів США. Якщо на одному пристрої можна заощадити 200 у.о., то на 10 пристроях економія виходить значна. Особливо здорово, коли можна використовувати смартфони різних виробників, які доступні в будь-якому кіоску. Коли спектр пропонованих апаратів широкий, завжди можна вибрати найкраще рішення. Торгові представники, які використовують смартфони компанії, не дуже шкодують дані пристрої. Їх кидають, забувають в автомобілях, був випадок, навіть переїхали пристрій вантажівкою. Звичайно ж, ніхто не знімає матеріальну відповідальність з торгових представників. Але збиток в 200 доларів - це значно менше, ніж збитки в 400 доларів. Загалом, чим дешевше апарат, тим краще.
  2. КПК має бути надійним. Наш досвід показує, що не завжди пристрої іменитих виробників найнадійніші. Причому, надійність ми оцінюємо не по відмовах одиничних пристроїв, а за досвідом експлуатації десятків пристроїв протягом 2-3 років.
  3. Програмне забезпечення повинне вести себе виключно надійно в будь-яких умовах. Низька кваліфікація користувачів не повинна ставати причиною відмов і збоїв. Як приклад, можна привести ділянку обміну даними між КПК і комп'ютером. По-перше, бажано, щоб обмін даними проводився не по шнуру USB, а по радіо. На жаль, Blue Tooth - технологія показала себе абсолютно не придатною для використання широкими масами торгових представників. Втрати установками, втрати самого з'єднання, неможливість встановити з'єднання при правильних налаштуваннях з незрозумілих причин - це той «букет» проблем, які виникали постійно. Довелося відмовитися від blue tooth - підключення і скидати дані виключно по шнуру. Відповідно, це черга, затримки за часом. Можна було б використовувати Wi-Fi з'єднання, але на основній масі пристроїв з Windows Mobile, вироблених в 2006-2009 роках, Wi-Fi технології не реалізовано. У нових пристроях, на нових платформах, Wi-Fi став практично стандартом, тому обмін даними повинен проводитися виключно за цією технологією.
  4. Стилус. Про цю маленьку паличку можна міркувати дуже довго. Особливо про те, як її втрачають торгові представники. І які пояснення за цим ідуть. Але ще гірше, коли в якості стилуса використовується кулькова ручка. Екран такого КПК схожий на географічну карту з річками і мережею доріг. Тому КПК на новій платформі повинен мати тільки ємнісний екран, і відповідно «пальцевий» введення. Відсутність плівки на екрані, то є суцільний скляний екран, благотворно позначається як на зовнішньому вигляді пристрою, так і на його надійності. Резистивні (плівкові) екрани показали себе вразливими від подряпин і пошкоджень.

Можна перерахувати ще безліч критеріїв, але якщо коротко, це доступність у продажу, ціна і надійність.

Що ми маємо на ринку.

Apple IPhone - пристрій видатний. Але за критеріями ціни та доступності в наші вимоги не вкладається.

Windows Phone 7. Ми стежили за даним проектом від Microsoft з найперших повідомлень. Після того, як дізналися про те, що інтерфейс користувача будується за допомогою Microsoft Silverlight, сказали собі, ну ладно. Справа в тому, що ми маємо певний досвід роботи з даною технологією, і вона залишила неоднозначне враження. Головне питання, яке виникало - де під неї взяти такі обчислювальні ресурси? Коли Microsoft опублікувала апаратні вимоги до нової платформи, ми зрозуміли, що програмувати класи на нашому любимо Visual Basic. Net під мобільну платформу навряд чи доведеться. Ціна на такі пристрої менше ніж 500 доларів ніяк не вимальовувалася. При цьому, на момент написання цієї статті доступних пристроїв на базі Windows Phone 7 в магазинах Україні і Росії немає. Ну от і все ...

Хто залишився? Symbian? Bada? Обидві платформи жорстко прив'язані до виробника. А потрібна платформа інтернаціональна.

Є тут одна така ...

Називається вона Google Android .

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

Приблизно в жовтні 2010 року ми розгорнули всі необхідні засоби розробки для платформи Google Android і стали потрохи її вивчати. Відсутність досвіду розробки на Java нас не бентежило. Це C-подібна мова, а об'єктне програмування з його спадщиною і поліморфізмом, воно скрізь однакове, що на VB.Net, що на C #, що на С. Трохи здивувало, що, як і в С, у класів немає прямої реалізації властивостей, як, наприклад, у VB, VB.NET або C #. Але це не сильно напружує. Жити можна. Взагалі, порівняння середовищ розробки Visual Studio 2010 і Eclipse Helios дало цікавий досвід. Але це, напевно, тема для окремої статті.

Відсвяткували Новий рік, і перші звістки з-за океану відразу показали - ЗДІЙСНИЛОСЯ. Отже, наша нова мобільна платформа Google Android!

Був вибраний і замовлений новий телефон Samsung I5500 за 205 доларів, і ми запустили на ньому традиційне "Hello world!" Після Visual Studio 2008 в зв'язці з Windows Mobile швидкість запуску програми просто приголомшлива. Що ж, відмінно.

Але встала купа питань! Як організувати інтерфейс? Як орудувати тисячами товарних найменувань і тисячами клієнтських записів? Вочевидь, що тут все по іншому і платформу потрібно вивчити ретельно, перш ніж братися за розробку. Виникла ідея написати більш простиу аплікацію скоріше як дослідницьке або навчальне завдання.

Так співпало, що в цей час ми дізналися про дефіцит терміналів збору даних за доступною ціною. Таким чином, ми виявилися просто зобов'язані написати аплікацію «Термінал збору даних».

    Це дозволило вирішити відразу кілька завдань.
  1. Навчитися програмувати Android-аплікації.
  2. Освоїти прийоми побудови інтерфейсу таких програм.
  3. Відпрацювати технологію інсталяції Android-аплікацій через Android Market.

На даний момент основну роботу по створенню програми можна вважати закінченою. Система проходить стадію бета-тестування і приблизно з 20 лютого буде доступне для завантаження.

Опис самої прикладної програми ANDRIY.CO Data Terminal можна побачити в другій частині статті.

Теми, що посилаються на статтю:

Вгору