Lépésről lépésre egy egyszerű alkalmazás létrehozásának leírása a Samsung Bada számára. Samsung Apps for OS Bada – egy gonosz felhasználó benyomásai Alkalmazások letöltése a Samsung bada számára
Vannak már elég részletes cikkek a Habréról, amelyeket Badának szentelnek, például ez és ez, de nincs lépésről lépésre leírása az alkalmazás létrehozásának kezdőknek. Ha valakit érdekel, nézze meg a kat.
Az írás témája véletlenül merült fel - egy ismerős aktívan részt vesz a telkek határainak meghatározásában GPS segítségével egy geodéziai cégnél; A munka sajátossága (honnan jött, az jó kérdés), hogy a kapott geodéziai koordinátákat (hadd magyarázzam el, hogy ez szélességi és hosszúsági fokot jelent) közvetlenül a beérkezés után derékszögű koordinátává kell konvertálni. A cégnek nincsenek 8 órás munkanapot kibíró laptopjai, és nem is tervezi, de egy ismerőse nemrég vásárolt magának egy Bada operációs rendszerű, Ukrajnában aktívan népszerűsített Samsung okostelefont, majd a kérdés Következett: ha le tudsz tölteni játékokat a telefonodra, van olyan alkalmazás, ami megoldja a leírt tisztán mérnöki problémát? Természetesen nem találtam ilyen alkalmazást, és kaptam egy kedves ajánlatot, hogy bizonyos díj ellenében írok egyet.
Eszközök
Alkalmazások fejlesztéséhez Bada számára a Bada SDK 1.2.0 szolgál, amely a Bada fejlesztői weboldalán történő regisztrációval tölthető le. Ebben a folyamatban nincs semmi bonyolult, de a letöltendő fájlok kiválasztásának szakaszában őszintén szólva "elvesztem", csak az SDK-t töltöttem le, de az úgynevezett nyelvi csomagot nem, abban a reményben, hogy ahogy az oldalon írják, letöltése automatikusan megtörténik az SDK telepítése után. A telepítési szakaszban azonban valami elromlott, a telepítés a nyelvi csomag letöltése nélkül folytatódott, ami később az alkalmazás elkészítésének, sőt, elindításának képtelenségéhez vezetett.Az SDK és a nyelvi csomag letöltése után azokat egy helyre kell helyezni, és az SDK telepítésekor vagy módosításakor a telepítő felveszi a nyelvi csomagot és önállóan telepíti.
Az alkalmazás tényleges létrehozása
A fejlesztői környezet az Eclipse-en, a használt C++ programozási nyelven alapul. Kezdjük egy új alkalmazás létrehozásával a Fájl -> Új -> bada Application Project nyilvánvaló paranccsal. A megjelenő ablakban a Projekt neve mezőben meg kell adni a projekt nevét, a Projekttípus listában pedig kiválasztani a pályázat típusát - bada Form Based Application.
Ezután a környezet arra kéri, hogy határozza meg annak az eszköznek a műszaki paramétereit, amelyre az alkalmazást szánják (képernyőfelbontás, GPS elérhetőség stb.). Ezeket a paramétereket egy speciális Manifest.xml jegyzékfájl határozza meg, amelyet kiválaszthat az SDK-fájlok közül, létrehozhat és letölthet a Bada Developers webhelyéről, vagy létrehozhat sajátot. Minden további nélkül az SDK-val telepített Samples mappák manifest fájlját használtam, mivel az alkalmazásomhoz nem volt szükség csengőre és sípra, csak a képernyő felbontása volt fontos.
Ezután a környezet kérni fogja az SDK gyökérkönyvtárának megadását, ezzel nem lehet probléma. A kiválasztás után a listában megjelenik az eszközmodell neve és API-ja, amelyet a jövőben a programozáshoz használunk.
A következő lépés az alapértelmezett űrlap nevének meghatározása, amely azonnal megjelenik az alkalmazás elindítása után. A *.h és *.cpp fájlok ezzel a névvel jönnek létre.
Ezután meg kell határoznia, hogy hozzáadja-e az automatikus skálázás támogatását és a legjobb képernyőfelbontást, ha hozzáadja ezt a funkciót. Ha jól értem, jobb ezt megtenni, mivel az alkalmazás különböző felbontású eszközökön fog működni, és nem kell újratervezni.
A beállítások hosszú láncolatának következő láncszeme az alkalmazásazonosító meghatározása, amely igazolja az alkalmazás funkcióit, ha védett mappákba kell olvasnia és írnia. Erre nem volt szükségem, ezért ezt a lépést kihagytam.
Majdnem kész - az alkalmazás nyilvánvaló tulajdonságainak meghatározása: Név, szállító és leírás.
És most már majdnem vége - ez határozza meg a fejlesztéshez szükséges konfigurációkat: azt javaslom, hogy hagyjon mindent alapértelmezés szerint, de most a legfontosabb konfiguráció a Simulator-Debug - ez a kód hibakeresési képessége egy eszközszimulátoron, Target-Release - konfiguráció az alkalmazás lefordításához, mielőtt feltölti a valós eszközre.
Az utolsó lépés az összes beállítás összegzése az Összegzés ablakban, amelyet újra elolvashat, és megbizonyosodhat arról, hogy minden helyesen van kiválasztva.
A beállítások elvégzése után a jövőbeli alkalmazás megjelenik a Project Explorerben, amelyre kattintva az erőforrás fájlok kibővülnek az Erőforrások ablakban, és a következő ablak jelenik meg:
Miután rákattintott az űrlapra (és általában minden vezérlőre) a Tulajdonságok lapon, módosíthatja az alkalmazás nyilvánvaló tulajdonságait, például a címben szereplő szöveget, a háttérszínt, a programbillentyűk jelenlétét és nevét.
A kész gombot, amit a környezet kedvesen generált, azonnal lejjebb toltam és ráírtam a Calculate-t. A GUI Editor birtokában könnyen beszerezhető a következő, a feladatomnak megfelelő felület (úgy gondolom, hogy a vezérlőelemek űrlapra átvitele és tulajdonságaik beállítása nem okoz nehézséget); a nyilvánvaló Label-t használták a beviteli mezők címkéiként, és az EditField-et beviteli mezőként; A címkék a számítások eredményének megjelenítésére is szolgálnak, mivel nem szerkeszthetők:
Most a tényleges kódolásról.
Egy futó alkalmazás több szakaszon megy keresztül (a Súgó nagyon részletes, ott megtudhatod a részleteket), most elsősorban az alkalmazás inicializálási szakasza érdekel minket, amiért a form osztály OnInitializing(void) metódusa a felelős, ami megtalálható a fájlban<ВАША_ФОРМА>.cpp a projekt src mappájában.
Alapértelmezés szerint ez a módszer így néz ki:
Result Form1::OnInitializing(void) ( eredmény r = E_SUCCESS; // TEENDŐ: Adja hozzá az inicializálási kódot ide // Kapjon egy gombot az erőforrásazonosítón keresztül __pButtonOk = static_cast
Én így csináltam:
védett: static const int ID_BUTTON_OK = 101; // új műveletazonosító a CLEAR gombhoz static const int ID_BUTTON_CLEAR=102; // geodéziai állandók static const int a=6378137; statikus const float alfa=1/298,257223563; Osp::Ui::Controls::Button *__pButtonOk; // új mező: button Osp::Ui::Controls::Button *__pButtonClear; // új mezők: szerkesztések és címkék Osp::Ui::Controls::EditField *__pB_deg; Osp::Ui::Controls::EditField *__pB_min; Osp::Ui::Controls::EditField *__pB_sec; Osp::Ui::Controls::EditField *__pL_deg; Osp::Ui::Controls::EditField *__pL_min; Osp::Ui::Controls::EditField *__pL_sec; Osp::Ui::Controls::EditField *__pH; Osp::Ui::Controls::Label *__pX; Osp::Ui::Controls::Label *__pY;
Most az OnInitializing(void) metódusban létrehozhat egy Clear gombot, és hozzárendelhet egy azonosító műveletet és egy „hallgató” eseményfigyelőt. Ugyanezt fogjuk megtenni az EditField és a Label használatával, anélkül azonban, hogy hozzáadnánk hozzájuk az Id Actiont és Event Listenert, mivel a felhasználói műveletekre adott reakciójukat nem biztosítjuk egyszerű alkalmazásunkban (IDC_BUTTON1, IDC_EDITFIELD1 stb. a Név értékei tulajdonság a gombhoz).
PButtonOk = statikus_cast
Ebben a szakaszban már elindíthatja az alkalmazást, és megnézheti, hogyan kerülnek be az adatok a szimulátorba, de természetesen nincs előnye, amíg a gombnyomás események feldolgozásra nem kerülnek.
A probléma megoldásához az OnActionPerformed(const Osp::Ui::Control& source, int actionId) űrlaposztály metódust használjuk. Mint látható, a második paraméter a fentebb már említett Action Id. Az alkalmazás végrehajtásakor a gombokra kattintási események „meghallgatásra kerülnek”, és a hozzájuk rendelt Action Id átadásra kerül az OnActionPerformed(const Osp::Ui::Control& source, int actionId) számára. Ha itt feldolgozást biztosítanak egy ilyen azonosítóhoz, akkor az megtörténik.
Az OnActionPerformed rendelkezik egy kapcsolósablonnal az actionId paraméter elemzéséhez, kényelmesen használható. Ezután megengedem magamnak, hogy megadjam ennek a módszernek a kódját részletes megjegyzésekkel:
Void Form1::OnActionPerformed(const Osp::Ui::Control& source, int actionId) ( const int MAX_BUFF_SIZE = 512; switch(actionId) ( case ID_BUTTON_OK: // reakció a Calculate gomb megnyomására ( // karakterlánc reprezentációt kap szélességi fokok, percek és másodpercek és... String B_deg_str(__pB_deg->GetText()); String B_sec_str(__pB_sec->GetText()); String L_deg_str(__pL_deg) ->GetText()); String L_sec_str(__pL_sec->GetText()); ,B_sec; double L_deg,L_min,L_sec eredmény r3=Double::Parse(B_sec_str,B_sec) eredmény r4=Double::Parse(L_deg_str,L_deg); ,L_sec ); // számítások double b_in_decimal=B_deg+B_min/60+B_sec/3600; double l_in_decimal=L_deg+L_min/60+L_sec/3600; dupla eSqr=2*alfa-(alfa*alfa); double N=a/Math::Sqrt(1-eSqr*(Matek::Sin(b_tizedesben))*(Matek::Sin(b_tizedesben))); double X=(N+H)*Matek::Cos(b_tizedesben)*Matek::Cos(l_tizedesben); double Y=(N+H)*Math::Cos(b_in_decimal)*Math::Sin(l_in_decimális); strX karakterlánc; String strY; // numerikus koordinátaértékek átalakítása karakterlánc-reprezentációvá strX.Format(MAX_BUFF_SIZE,L"%f",X); strY.Format(MAX_BUFF_SIZE,L"%f",Y); // a kapott számokat kiadja a Label-be __pX->SetText(L"X="+strX);__pY->SetText(L"Y="+strY); __pX->Draw();__pY->Draw(); __pX->Megjelenítés();__pY->Megjelenítés(); ) szünet;
case ID_BUTTON_CLEAR: ( // reakció a Törlés gomb megnyomására // párbeszédpanel létrehozása az OK és a CANCEL gombokkal és a kérdéssel - minden mező törlése? MessageBox *pMessageBox = new MessageBox(); pMessageBox->Construct(L"MessageBox") , L"Törölje az összes mezőt?", MSGBOX_STYLE_OKCANCEL törölje a beviteli mezőket és a Címke __pB_sec->Clear( ->SetText(L"Y=");__pY->SetText(L"Y="); // MessageBox törlése pMessageBox törlése) break; alapértelmezett: break; ) )
Ugyanez a MessageBox-szal:
Úgy tűnik, ez minden. Szeretném megjegyezni, hogy az alkalmazás egyáltalán nem minden megfogalmazásban tág és korrekt, például egyáltalán nem létezik „bolondvédelem”, hiszen remélem barátom és négy kollégája józan eszét; ez a program célja.
Nemrég érkezett egy újabb fejlesztési alkalmazás a Bada számára - meg kell keresni és megjeleníteni a térképen a közeli objektumokat, például ATM-eket vagy számlafeltöltő terminálokat. Ha valakit érdekel ez a téma, szívesen megosztom tapasztalataimat.
Ha valakinek kérdése van, hogy mi legyen a következő lépés a programmal, azt a Bada Developer honlapján található cikkek részletesen kifejtik, ehhez nem térek ki, hiszen a programozás még mindig összetettebb téma.
A pályázati források rendelkezésre állnak
Általában véve biztosan nem vagyok az ilyen dolgok híve. Úgy gondolom, hogy a fejlesztőknek pénzt kell kapniuk a munkájukért. Meggyőződésem azonban, hogy egy felnőtt, fizetőképes ember megvesz egy játékot, programot, ha megtetszik neki. Sajnos nem mindent lehet kipróbálni vásárlás nélkül, ezért ebből a szempontból a fizetős szoftver telepítése értékeléshez meglehetősen elfogadhatónak tűnik. Mindenesetre van rá mód és működik. Illetve, ha figyelembe vesszük, hogy a badafones tulajdonosok jövőbeli sorsa általában érthetetlen, nem tartom szégyenletesnek, hogy végre kihasználjuk a fejleményeket.
Szóval, mint mindig, figyelmeztetlek - a módszer működik. magamon teszteltem. De mindenesetre, ha megzavarja az eszköz teljesítményét, az csak a te problémád. Csináljon mindent az utasítások szerint, és minden úgy fog működni, mint az óramű. Egyetért.
Kezdjük el.
Ezt a módszert Samsung S8500 Wave-en és hivatalos ukrán firmware-en teszteltem. Innen töltheti le.
Nem kell sok.
1. Multiloader – vigye el. Bármilyen verzió, de én a legújabbat venném.
2. Fájl az apps_Compressed_spoof_Wave_I.bin – töltse le a linkről (ez az első hullám, Ukrajna számára)
Telepítsük az Angry Birdst.
Először is felvillantjuk az apps_Compressed_spoof_Wave_ fájlt (attól függően, hogy milyen hullámmal rendelkezik). Ez egyszer megtörténik. Ehhez indítsa el a Multiloadert, és válassza az LSI, Boot Change és Full Download lehetőséget. Képernyőkép kattintható:
Adja hozzá a fájlt. Egyszerűen húzza át a program ablakába. Kikapcsoljuk a telefont. Nyomja meg és tartsa lenyomva egyszerre a Hangerő csökkentése + Zárolás + Bekapcsológombot (piros cső). A Letöltés mód világít. Ezután Port Search. Majd Letöltés. Ha valaha is varrtad a saját telefonodat, ez nem újdonság számodra.
A fájl varrva - jó.
Ezután csomagolja ki a Bada Wave Spoof-ot (program az archívumban). A következő fájlt találjuk benne: BadaCertificate.cer. A telefonra másoljuk (nem mindegy, hogy hova, de jobb az Egyebek mappába). Telefonján lépjen abba a mappába, ahová másolta, és érintse meg a fájlt. Fogadja el a figyelmeztetést, és telepítse a tanúsítványt.
Kicsomagoljuk az archívumot a játékkal vagy alkalmazással, esetünkben az AngryBirds.rar archívumot, és megadjuk a mappa elérési útját, és különösen a játék application.exe nevű fájlját (esetünkben AngryBirds.exe) .
Valószínűleg a fájl a Bin mappában lesz. Jelölje be a négyzetet a képernyőképen látható módon. Felváltva nyomja meg az 1. Aláírás, majd a 2. Átnevezés gombot.
Egyenként, először nyomja meg az 1-es gombot
Mindenki itt van. Lépjen a Másolás fülre. Cserélhető lemez módban csatlakoztatjuk a telefont, és a legördülő listából kiválasztjuk a memóriakártyát. Ha nem, kattintson a mellette lévő két zöld nyíllal ellátott gombra. Várjuk a betöltődést.
Sikeres másolás után. Leválasztjuk a telefont, és a telefonhoz megyünk a Beállítások - Általános - Telepítési hely - válassza ki a memóriakártyát. Samsung Kies módban csatlakoztatjuk a telefont.
Nemrég véletlenül egy Bada operációs rendszerű Samsung Wave 525 „okostelefon” tulajdonosa lettem. Elvileg csak két funkcióra volt szükségem a telefonból - egy zenelejátszóra, amelybe 3,5-ös mini jack csatlakozóval normál fejhallgatót lehet csatlakoztatni, valamint Wi-Fi-n keresztüli internet-hozzáférést. Az új Wave 525 minderre változó sikerrel képes. „De – gondoltam –, mivel megvan a bátorsága ahhoz, hogy okostelefonnak nevezze magát, teljesen be kell töltenünk.” És elkezdett tölteni.
A Bada rendszerrel rendelkező telefonon lévő összes „natív” alkalmazás a Samsung Apps áruházból telepíthető. Csatlakozhat hozzá a telefonon lévő azonos nevű alkalmazáson keresztül, vagy a Samsung Kies asztali program segítségével számítógéphez csatlakozva. Mivel még nem szereztem be otthoni Wi-Fi-t, a második lehetőséget választottam.
Amikor a telefont a számítógéphez csatlakoztatta, Kies azonnal felajánlotta a firmware frissítését. Itt meg kell jegyezni, hogy még mindig élénk emlékeim vannak a firmware frissítéséről egy saját programmal az előző telefonomon - Sony Ericsson k800i. A frissítőprogram a hivatalos orosz nyelvű weboldalról lett letöltve, a firmware frissítési eljárás sikeres volt. Ezek után egy csodálatos angol nyelvű telefonnal találtam magam a kezemben, az orosz nyelv minden jele nélkül. Ezt követően többször írtam a technikai támogatásnak – minden alkalommal, amikor a robot visszaküldött kettő levelek arról, hogy jegyet nyitottak a problémámra, és idővel megoldják. Ez a boldog idő soha nem jött el.
De elég a lírai kitérőkből. Szomorú tapasztalatomat elvetve továbbra is a „Firmware frissítése” gombra kattintottam. És... nem történt semmi. A telefon megszakadt, majd újra csatlakozott, és újra felbukkant a firmware frissítését kérő ablak. A technológia csodákra képes.
Az alkalmazásboltban megnéztem az árakat és kicsit megnyugodtam. Megijedtem, hogy a Samsung Apps ukrán fiókjában az árak valamiért megfizethetetlenül őrültek. Ez nem teljesen igaz – a fizetős alkalmazások ára általában 10 és 50 hrivnya között mozog, és rengeteg ingyenes szoftver is létezik. Bár, mint később kiderült, a mennyiség itt nem kezdett minőséggé válni.
A honosított alkalmazások szinte teljes hiánya azonnal megragadta a szemem. Sőt, nemcsak az ismerős és viszonylag érthető angol nyelven, hanem teljesen olvashatatlan arabul, kínaiul (japánul? koreaiul? Tessék kitalálni ezeket a hieroglifákat...). Különösen meglepett a „csak vietnami” megjegyzéssel ellátott alkalmazások hihetetlen bősége (csak vietnami nyelven). Ez pedig az üzlet ukrán részlegében van! Valaki túl lusta volt a terjesztési régiók beállításához?
Az alkalmazások ezen „gondosan” kiválasztásának köszönhetően az egész bolt a színvonaltalan szoftverek szemétdombjára hasonlít. Még mindig találtam erőt, hogy elmélyüljek benne, és pár nap alatt szinte az összes ingyenes alkalmazást végigcsináltam. Utána megjelent az okostelefonom: háromféle, különböző fokú nyomorultságú zongora, több lassú játék, egy lassú, de szép program hangjegyekhez, Dropbox kliens Pipeline, egy program hangokkal a kikapcsolódáshoz és egy egyszerű program a Vibrator (találhatod, mi igen ). Minden. Rendkívül hasznos szoftver, semmi kétség. A könyvek olvasásához fel kellett telepítenem a Foliant java alkalmazást (egyébként kiváló program). Nem volt normális médialejátszó, ami a telefon gyenge hang- és videólejátszóját helyettesítette volna, még a fizetős alkalmazásokban sem.
Szórakoztatott a VKontakte fizetett kliensének jelenléte a GlobalLogic inc-től - „ЄKontakte”. A képernyőképeken a program meglehetősen tisztességesnek és még aranyosnak tűnik. Legalábbis ez szinte az egyetlen olyan alkalmazás, amely felépítésében hasonlít magához a telefon interfészéhez, és „natívnak” tűnik - és ez még a csomagban található néhány alkalmazásról sem mondható el. De nem vettem meg ezt az alkalmazást, mert nem tudtam rájönni, miért van szükségem rá.
Ezek a benyomások. Az Ön internetes oldalain az emberek azt mondják, hogy a Bada egy nagyon fiatal operációs rendszer, ezért az egész káosz. Lássuk, talán idővel megjelennek a normális alkalmazások, rendet tesznek a boltban. Eddig minden rossz.
» Whatsapp Bada számára
Ha Ön egy Bada operációs rendszert futtató Samsung okostelefon tulajdonosa, akkor nem tudja egyetlen gombnyomással telepíteni a Whatsapp-ot. A telepítéshez ingyenesen le kell töltenie a Whatsapp for Bada alkalmazást, majd telepítenie kell.
A Whatsapp for Bad egy speciális telepítőfájl ehhez az operációs rendszerhez. Ez a messenger nem hivatalos verziója, de stabilan működik, és lehetőséget biztosít a WhatsApp minden előnyének élvezetére. Az ezt az operációs rendszert futtató okostelefonok gyártói süketek maradtak a felhasználók azon kérésére, hogy portolják át ezt az alkalmazást a Bada platformra.
A Bada egy operációs rendszer a Samsung Wave sorozatú modellekhez, amely egy módosított Android operációs rendszer. Mivel ez nem pontosan Android, a WhatsApp-ot nem találja meg a Bud alkalmazásboltjaiban. De a gondos programozóknak köszönhetően letölthetjük a Bada számára adaptált WhatsApp fájlt, és telepíthetjük az orosz verziót.
Telepítési folyamat
1. Töltse le a WhatsApp fájlt .apk kiterjesztéssel. Letöltheti számítógépére, majd átviheti telefonjára, vagy letöltheti közvetlenül a telefonjáról. A fájl meglehetősen nagy (körülbelül 35 MB), így ha nincs korlátlan internet a telefonon, jobb, ha csatlakozik egy Wi-Fi hálózathoz, majd töltse le. Általában ezt a fájlt nem az archívumban töltik le, hanem azonnal telepítőfájlként. Ezért nem szükséges kicsomagolni vagy egyéb további lépéseket tenni.
2. Futtassa a fájlt, és várja meg a telepítést. Ha indításkor üzeneteket kap a biztonsági beállítások módosításának szükségességéről, akkor kapcsolja ki. Telepítés után feltétlenül kapcsolja vissza! Előfordulhat, hogy engedélyekre lesz szüksége az internet, a kamera, a mikrofon stb. eléréséhez. Mindent engedélyezünk, különben nem települ a program.
3. Regisztráljon a WhatsApp-on telefonszámával és SMS-visszaigazolásával, és kezdje el használni!
Regisztráció és bejelentkezés után a Whatsappon keresztül megteheti:
- kommunikáció szöveges üzenetek, audio- vagy videokonferencia útján;
- fényképek, videók, dokumentumok küldése, hangulatjelek hozzáadása;
- általános csoportokban részt venni a kommunikációban;
- nézze meg, hogy a névjegyzékből ki rendelkezik már WhatsApp-al, és hívja meg azokat, akiknek még nincs telepítve.
Kevés telefon- és okostelefonmodellt adnak ki Bada operációs rendszerhez, de léteznek, és valószínű, hogy a jövőben a Samsung továbbra is ezzel az operációs rendszerrel gyárt majd okostelefonokat. Mostantól minden Wave sorozatú okostelefon Bada operációs rendszerrel van felszerelve. A modellek teljes listája az alábbi táblázatban található.