Покроковий опис створення простої програми Samsung Bada. Samsung Apps для ОС Bada - враження злісного користувача Завантажити програми для самсунг bada
На Хабре вже є досить докладні статті, які присвячені Bada, наприклад ця і ця, але ось покрокового опису створення програми для новачків немає. Кому цікаво – прошу під кат.
Тема для написання виникла випадково – знайомий активно займається встановленням меж земельних ділянок за допомогою GPS у геодезичній фірмі; Специфіка роботи (звідки взялася - хороше питання) полягає в тому, що одержувані геодезичні координати (дозволю собі пояснити, що мається на увазі широта і довгота) треба переводити прямокутні прямо після їх отримання. На фірмі ноутбуків, здатних витримати 8 годинний робочий день немає і не планується, зате знайомий нещодавно купив собі смартфон, що активно просувається в Україні, від Samsung з операційною системою Bada, далі постало питання - якщо можна скачати ігри для телефону, то чи немає додатка, здатного вирішити описане суто інженерне завдання? Такої програми, звичайно, не знайшлося, і я отримав люб'язну пропозицію таку написати за відому плату.
Інструментарій
Для розробки програм для Bada використовується Bada SDK 1.2.0, скачати який можна, зареєструвавшись на сайті для розробників Bada . У цьому процесі немає нічого складного, але на етапі вибору файлів для завантаження я, чесно сказати, «протупив», завантаживши тільки SDK, а так званий мовний пакет (language pack) немає, сподіваючись, що, як написано на сайті, його завантаження відбудеться після встановлення SDK автоматично. Однак, на етапі установки щось йшло не так, установка тривала без завантаження мовного пакета, що в подальшому призводило до неможливості виконати будову (build), ні, тим більше, запустити додаток.Завантаживши SDK і мовний пакет, їх слід покласти в одному місці, і при установці SDK або її модифікації, установник підхопить мовний пакет і виконає інсталяцію його самостійно.
Власне створення програми
Середовище розробки засноване на Eclipse, використовувану мову програмування С++. Почнемо з того, що перейдемо до створення нової програми очевидною командою File -> New -> bada Application Project. У вікні слід визначити назву проекту в полі Project name, у списку Project Type вибрати тип програми - bada Form Based Application.
Далі середа попросить визначити технічні параметри пристрою, для якого буде призначено програму (дозвіл екрану, наявність GPS тощо). Ці параметри визначаються у спеціальному файлі маніфесту Manifest.xml, який можна вибрати серед файлів SDK, створити та завантажити з сайту Bada Developers або створити свій. Не мудруючи лукаво, я використовував файл маніфесту з папок з прикладами Samples, які встановлюються разом з SDK, оскільки моя програма не вимагала наявності «наворотів», а була важлива лише роздільна здатність екрану.
Далі середа попросить вказати кореневу директорію SDK, із цим проблем виникнути не повинно. Після вибору у списку з'явиться назва моделі пристрою та його API, яка буде використовуватися надалі для програмування.
Наступний крок – визначення імені форми за умовчанням, яка з'явиться відразу після запуску програми. За цим ім'ям буде згенеровано *.h і *.cpp файли.
Далі потрібно визначити додавати чи ні підтримку авто-масштабування та найкращу роздільну здатність екрана, якщо ця можливість буде додана. Я так розумію, що це краще зробити, оскільки програма зможе працювати на різних пристроях з різною роздільною здатністю і її не доведеться переробляти.
Наступна ланка в довгому ланцюжку налаштувань - визначення Application ID, щоб засвідчити функції програми, якщо йому потрібно виконувати читання і запис в захищені папки. Мені це не потрібно, тому я цей крок опустив.
Майже кінець - визначення очевидних властивостей програми Name, Vendor та Description.
І ось вже майже кінець - це визначення необхідних конфігурацій для розробки: рекомендую залишити все за замовчуванням, а зараз найважливішою конфігурацією є Simulator-Debug - це можливість налагодження коду на симуляторі пристрою, Target-Release - конфігурація для компілювання програми перед вивантаженням його на реальний пристрій.
Останній крок - зведена за всіма налаштуваннями інформація у вікні Підсумків (Summary), яку можна ще раз прочитати та переконатися, що все вибрано правильно.
Після фіналу налаштувань майбутня програма з'являється в Project Explorer, клацання по якому призводить до розкриття файлів ресурсів у вікні Resources і появи наступного вікна:
Після клацання на формі (і взагалі на будь-якому елементі керування) на вкладці Properties можна змінити очевидні властивості програми, такі як текст у заголовку, колір тла, наявність та назву софт-клавіш.
Я одразу переніс уже готову кнопку, яку люб'язно згенерувало середовище, нижче та написав на ній Calculate. Маючи в своєму розпорядженні GUI Editor легко отримати наступний інтерфейс, який добре підходить для мого завдання (вважаю, що процес перенесення елементів управління на форму і встановлення їх властивостей ніяких труднощів не викликає); як підписи до полів введення використаний очевидний Label, як поля введення - EditField; для показу результату обчислень також використано Label, оскільки їх редагування не передбачено:
Тепер власне кодування.
Додаток, що виконується, проходить кілька етапів (Допомога дуже докладна, там можна дізнатися деталі), зараз в першу чергу нас цікавить етап ініціалізації програми, за який відповідає метод OnInitializing(void) класу форми, який можна знайти у файлі<ВАША_ФОРМА>.cpp у папці src проекту.
За замовчуванням цей метод виглядає так:
Result Form1::OnInitializing(void) ( result r = E_SUCCESS; // TODO: Add your initialization code here // Get a button via resource ID __pButtonOk = static_cast
Тут створено кнопку з ідентифікатором __pButtonOk, яка була згенерована середовищем. У папці inc знаходиться заголовний файл форми, в якому до секції protected слід додати нове поле, яке буде відповідати другій кнопці Clear, а також ідентифікатор події (Id Action) кнопки у вигляді цілісної константи, який буде призначений для визначення того, яка кнопка форми була натиснута в методі OnActionPerformed. Також я сюди додав спеціальні константи, які потрібні для обчислень.
protected: static const int ID_BUTTON_OK = 101;
// New action ID for button CLEAR static const int ID_BUTTON_CLEAR=102;
// geodetic constants static const int a = 6378137;
Osp::Ui::Controls::EditField *__pH;
Osp::Ui::Controls::Label *__pX;
В OnActionPerformed є заготівля switch для аналізу параметра actionId, її зручно використовувати. Далі я дозволю собі навести код цього методу з докладними коментарями:
Void Form1::OnActionPerformed(const Osp::Ui::Control& source, int actionId) ( const int MAX_BUFF_SIZE = 512; switch(actionId) ( case ID_BUTTON_OK: // реакція на натискання кнопки Calculate ( // отримуємо рядкове і секунд широти і... String B_deg_str(__pB_deg->GetText()); ->GetText()); String L_min_str(__pL_min->GetText()); ,B_sec; double L_deg,L_min,L_sec; result r3=Double::Parse(B_sec_str,B_sec); result r4=Double::Parse(L_deg_str,L_deg); );result r7=Double::Parse(H_str,H);
// обчислення double b_in_decimal=B_deg+B_min/60+B_sec/3600;
Він же з MessageBox:
Ось, здається, і все. Хочу зазначити, що додаток анітрохи не претендує на широту охоплення та коректність усіх формулювань, наприклад, геть-чисто відсутня «захист від дурня», оскільки я сподіваюся на осудність мого знайомого та чотирьох його колег, для яких ця програма призначена.
Нещодавно надійшла ще одна заявка на розробку для Bada - необхідний пошук і відображення на карті найближчих об'єктів, на кшталт банкоматів або терміналів поповнення рахунку. Якщо ця тема комусь буде цікава, я із задоволенням поділюся досвідом.
Якщо у когось виникло питання, що, власне, з програмою робити далі, то це докладно висвітлено у статтях на сайті Bada Developer, я цього стосуватися не буду, оскільки програмування все-таки тема складніша.
Вихідні програми доступні
Взагалі, я звичайно не прихильник подібних речей. Вважаю, що розробники мають отримувати за свою працю гроші. Однак я переконаний, що доросла, платоспроможна людина купить гру або програму, якщо вона їй сподобалася. На превеликий жаль не все можна спробувати, не купивши, а тому в такому ракурсі встановлення платного софту для ознайомлення виглядає цілком прийнятно. У будь-якому випадку спосіб є і він працює. Так само з огляду на те, що , а подальша доля власників бадафонів взагалі незрозуміла, насамкінець скористатися напрацюваннями соромним не вважаю.
Отже, як завжди, попереджаю – спосіб робітник. Я перевірив його на собі. Але у будь-якому випадку, якщо ви порушите працездатність свого апарату – це лише ваші проблеми. Робіть все за інструкцією і все буде працювати як годинник. Домовилися.
Приступаємо.
Тестував я цей метод на Samsung S8500 Wave та офіційній українській прошивці. Завантажити її можна по .
Знадобиться нам небагато.
1. Multiloader - беремо його по . Версія будь-яка, але я брав останню.
2. Файл apps_Compressed_spoof_Wave_I.bin – качаємо його за посиланням (це для першого вейва, для України)
Ставимо Angry Birds.
Насамперед прошиваємо собі файл apps_Compressed_spoof_Wave_(залежно який у вас вейв). Це робиться один раз. Для цього запускаємо Multiloader та вибираємо LSI, Boot Change та Full Download. Скріншот клікатебелен:
Додаємо свій файл. Можна просто перетягнути вікно програми. Вирубуємо телефон. Затискаємо Клавішу гучності вниз + блокування + включення (червона труба). Загориться DownLoad Mode. Далі Port Search. Потім Download. Якщо ви хоч раз шили свій телефон, для вас це не новина.
Файл зашитий – добре.
Після цього розпаковуємо Bada Wave Spoof (прога в архіві). Знаходимо усередині такий файл: BadaCertificate.cer. Копіюємо його в телефон (не важливо куди, але краще в папку Others). Заходимо в телефоні в папку, куди скопіювали і тапаєте по файлу. Погоджуєтеся із попередженням та встановлюєте сертифікат.
Розпаковуємо архів з грою або програмою, в нашому випадку архів AngryBirds.rar і вказуємо шлях до папки і зокрема до файлу з назвою програми.exe (у нашому випадку AngryBirds.exe).
Найімовірніше файл буде лежати в папці Bin. Ставимо галочку, як показано на скріншоті. По черзі натискаємо спочатку кнопку 1. Sign, а потім кнопку 2. Rename.
По черзі натискаємо спочатку кнопку 1. Sign
Тут все. Переходимо на вкладку Copy. Підрубаємо телефон у режимі Знімного диска і вибираємо картку пам'яті у списку, що випадає. Якщо ні – тиснемо кнопочку із двома зеленими стрілочками поруч. Чекаємо поки завантажиться.
Після успішного копіювання. Відрубуємо телефон і йдемо в телефоні шляхом Налаштування – Загальні – Місце встановлення – вибираємо картку пам'яті. Підрубаємо телефон у режимі Samsung Kies.
Погодило мене нещодавно стати власником "смартфону" Samsung Wave 525 з операційною системою Bada. В принципі, мені від телефону потрібно було лише дві функції – музичний плеєр, у який можна встромити звичайні навушники з 3,5-мініжеком, та доступ в інтернет через Wi-Fi. Новий Wave 525 зі змінним успіхом все це вміє. "Але, - подумав я, - якщо він має сміливість називати себе смартфоном, потрібно навантажити його на повну". І почав навантажувати.
Всі "нативні" програми на телефон із системою Bada ставляться через магазин Samsung Apps. Підключитися до нього можна або через однойменну програму на телефоні, або через підключення до комп'ютера за допомогою програми Samsung Kies. Оскільки домашнім Wi-Fi я поки не придбав, вибрав другий варіант.
При підключенні телефону до комп'ютера Kies одразу запропонував оновити прошивку. Тут слід зазначити, що в моїй пам'яті ще живі спогади про оновлення прошивки фірмовою програмою на попередньому телефоні - Sony Ericsson k800i. Програма оновлення була завантажена з офіційного російськомовного сайту, процедура оновлення прошивки пройшла успішно. Після цього в мене опинився чудовий англомовний телефон без жодних ознак російської мови. Після цього я кілька разів писав у техпідтримку - робот щоразу висилав мені у відповідь двалисти про те, що вони завели тикет на мою проблему і згодом вирішать її. Цей щасливий час так жодного разу не настав.
Але вистачить ліричних відступів. Відкинувши свій сумний досвід, я таки натиснув кнопку "Оновити прошивку". І... нічого не сталося. Телефон відключився, потім підключився знову і віконце з пропозицією оновити прошивку знову вилізло. Техніка творить чудеса.
У магазині програм я подивився на ціни і трохи заспокоївся. Мене лякали, що ціни в українському відділенні Samsung Apps якісь неймовірні. Це не зовсім так - в основному ціни на платні програми коливаються від 10 до 50 гривень, до того ж безкоштовного софту багато. Хоча, як виявилося пізніше, кількість тут і не починала переходити до якості.
Відразу впала в око практично повна відсутність локалізованих додатків. Притому не тільки звичною і відносно зрозумілою англійською мовою, а й абсолютно нечитаною арабською, китайською (японською? корейською? іди розбери ці ієрогліфи...). Особливо здивувала неймовірна велика кількість додатків з припискою "Vietnamese only" (тільки в'єтнамською). І це в українському розділі! Комусь було ліньки виставити регіони поширення?
Завдяки такому "ретельному" відбору додатків весь магазин нагадує звалище некондиційного софту. Я все-таки знайшов у собі сили покопатися в ній і за пару днів перелопатив практично всі безкоштовні програми. Після цього в моєму смартфоні з'явилися: три види піанін різного ступеня убогості, кілька іграшок, що гальмують, одна гальмуюча, але симпатична програмка для нотаток, Dropbox-клієнт Pipeline, програма зі звуками для релаксації і простенька програма під назвою Vibrator (самі здогадайтеся, ). Всі. Вкрай корисний софт, суперечки немає. Для читання книг довелося ставити java-додаток Foliant (прекрасна прога, до речі). Нормального медіаплеєра на зміну убогим аудіо- та відеоплеєру телефону не знайшлося навіть у платних програмах.
Потішила наявність платного клієнта для Вконтакте від GlobalLogic inc - "ЄКонтакт". На скріншотах програма виглядає цілком пристойно і навіть симпатично. Принаймні, це чи не єдина програма, по дизайну схожа з інтерфейсом самого телефону і здається "рідним" - а такого не можна сказати навіть про деякі програми, що входили в комплект постачання. Але купувати цю програму я не став, оскільки так і не придумав, навіщо б вона мені була потрібна.
Такі ось враження. Народ у цих ваших інтернетах каже, що Bada - зовсім молода ОС, тому весь бардак. Подивимося, може з часом з'являться нормальні додатки, магазин упорядкують. Поки що все погано.
» Whatsapp для Bada
Якщо ви власник смартфона Samsung під керуванням операційної системи Bada, то встановити Whatsapp одним натисканням кнопки у вас не вийде. Для встановлення потрібно скачати безкоштовно Whatsapp для Bada та після цього встановити.
Вацап для Бада це спеціальний настановний файл, адаптований під цю операційну систему. Це неофіційна версія месенджера, але працює стабільно та надає можливість користуватися всіма перевагами Вацапа. Виробники смартфонів з цієї ОС залишилися глухими до прохань користувачів портувати цю програму на платформі Bada.
Bada – це операційна система для моделей виробництва Samsung серії Wave, яка є модифікованою ОС Android. Так як це не зовсім Андроїд, то і в магазинах додатків для БАД ви не знайдете Ватсап. Але завдяки небайдужим програмістам ми можемо завантажити адаптований файл Ватсап для Bada і встановити російську версію.
Процес встановлення
1. Завантажуємо файл WhatsApp із розширенням.apk. Можна скачати на комп'ютер, а потім перекинути на телефон, або одразу завантажити з телефону. Файл досить великий (близько 35 Мб), тому якщо у вас не безлімітний інтернет телефону, краще підключіться до мережі Wi-fi і після цього завантажуйте. Зазвичай цей файл завантажується не всередині архіву, а відразу як інсталяційний. Тому не потрібно розпаковувати його чи робити ще якісь додаткові дії.
2. Запускаємо файл, чекаємо на установку. Якщо під час запуску видаються повідомлення про необхідність змінити налаштування безпеки, відключаємо. Після встановлення обов'язково увімкніть назад! Також можуть бути потрібні дозволи на доступ до мережі інтернет, камери, мікрофону тощо. Все дозволяємо, інакше програма не встановиться.
3. Реєструємося в whatsapp за допомогою телефону та смс з підтвердженням, і починаємо користуватися!
Після реєстрації та входу ви зможете через Whatsapp:
- спілкуватися за допомогою текстових повідомлень, аудіозв'язку чи відеоконференції;
- пересилати фото, відео, документи, додавати смайли;
- брати участь у спілкуванні у загальних групах;
- бачити, хто з вашої книги контактів вже має ватсап, і запрошувати тих, хто ще не встановлено.
Модель телефонів і смартфонів, які випущені під операційну систему Bada небагато, але вони є, і є ймовірність, що надалі компанія Samsung продовжить випускати смартфони з цією операційною системою. Наразі всі смартфони серії «Wave» оснащуються саме ОС Bada. Повний список моделей в таблиці нижче.