Alkalmazások telepítése Bada 2.0 rendszeren lehetséges hibák. Samsung Apps for OS Bada – egy gonosz felhasználó benyomásai. Az alkalmazás tényleges létrehozása
Habréról vannak már elég részletes cikkek, amelyek Badának szólnak, például ez és ez, de itt lépésről lépésre leírás alkalmazás létrehozása kezdőknek nem. Kinek érdekes - kérdezem kat alatt.
Az írás témája véletlenül merült fel - egy barátom aktívan részt vesz a föld határainak meghatározásában GPS segítségével egy geodéziai cégnél; a munka sajátosságai (honnan származik - jó kérdés) az, hogy a kapott geodéziai koordinátákat (hadd magyarázzam el, hogy mit jelent a szélesség és hosszúság) a beérkezésük után azonnal téglalap alakúra kell konvertálni. A cég nem rendelkezik 8 órás munkaidőt kibíró laptopokkal, és nem is tervezi, de egy barátja nemrég vásárolt egy okostelefont a Samsungtól, amelyet Ukrajnában aktívan reklámoztak. operációs rendszer Bada, majd következett a kérdés - ha le tudsz tölteni játékokat a telefonodra, akkor van olyan alkalmazás, ami megoldja a leírt tisztán mérnöki problémát? Ilyen alkalmazást természetesen nem találtam, é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 oldalon történő regisztrációval tölthető le. Ebben a folyamatban nincs semmi bonyolult, de a letöltésre szánt fájlok kiválasztásának szakaszában, őszintén szólva, „tompultam” azzal, hogy csak az SDK-t töltöttem le, az úgynevezett nyelvi csomagot (nyelvi csomag) pedig nem, remélve, hogy mivel van írva az oldalon, letöltése az SDK telepítése után automatikusan megtörténik. A telepítési szakaszban azonban valami elromlott, a telepítés a nyelvi csomag letöltése nélkül folytatódott, ami utólag ahhoz vezetett, hogy nem lehetett építeni (építeni), nemhogy futtatni az alkalmazást.Az SDK és a nyelvi csomag letöltése után ezeket egy helyre kell tenni, é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 Project name mezőben adja meg a projekt nevét, a Project Type listában válassza ki az alkalmazás típusát - bada Form Based Application.
Ezután a környezet kérni fogja, hogy határozza meg Műszaki adatok eszköz, amelyre az alkalmazást szánják (képernyőfelbontás, GPS elérhetősége stb.). Ezeket a paramétereket a speciális fájl Manifest.xml, amelyet SDK-fájlok közül választhat, létrehozhat és letölthet a Bada Developers webhelyről, vagy létrehozhat sajátot. Minden további nélkül az SDK-val együtt telepített Samples mappák manifest fájlját használtam, mivel az alkalmazásom nem igényelt "csengőt és sípot", csak a képernyő felbontása volt fontos.
Ezután a környezet kérni fogja, hogy adja meg az SDK gyökérkönyvtárát, ez 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 közvetlenül az alkalmazás indulása után jelenik meg. 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 ez a funkció hozzáadásra került. Megértem, hogy jobb ezt megtenni, mivel az alkalmazás tovább tud futni különböző eszközök más felbontással, és nem kell újra elkészíteni.
A beállítások hosszú láncolatának következő láncszeme az alkalmazásazonosító meghatározása, amely hitelesíti az alkalmazás funkcióit, ha védett mappákba kell olvasnia és írnia kell. Nem volt rá szükségem, ezért ezt a lépést kihagytam.
Majdnem kész – a nyilvánvaló Név, Szállító és Leírás alkalmazástulajdonságok meghatározása.
És most már majdnem a vége - ez a fejlesztéshez szükséges konfigurációk meghatározása: azt javaslom, hogy hagyjon mindent alapértelmezés szerint, és most a legfontosabb konfiguráció a Simulator-Debug - ez a kód hibakeresésének lehetősége egy eszközszimulátoron, a Target -Release - egy konfiguráció az alkalmazás lefordításához, mielőtt feltölti a valódi eszközre.
Az utolsó lépés az összes beállítás összegzése az Összegzés ablakban, amelyet újra elolvashat, és meggyőződhet arról, hogy minden helyesen van kiválasztva.
A végleges beállítások után a jövőbeli alkalmazás megjelenik a Project Explorerben, amelyre kattintva megjelenik az erőforrás fájlok 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 funkciógombok 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. GUI Editor birtokában könnyen beszerezhető az alábbi felület, ami jól megfelel a feladatomnak (úgy gondolom, hogy a vezérlők űrlapra történő átvitele és tulajdonságaik beállítása nem okoz nehézséget); beviteli mezők címkéjeként a nyilvánvaló Címke használatos, beviteli mezőként - EditField; A címkéket a számítások eredményének megjelenítésére is használják, mivel szerkesztésük nem biztosított:
Most maga a kódolás.
A futó alkalmazás több szakaszon megy keresztül (a Súgó nagyon részletes, ott találsz részleteket), most elsősorban az alkalmazás inicializálási szakaszra vagyunk kíváncsiak, amely az űrlap osztály OnInitializing (void) metódusáért felelős, amely 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 eseményfigyelőt. Ugyanezt fogjuk megtenni az EditField és a Label használatával is, anélkül azonban, hogy hozzáadnánk az Id Action és Event Listener alkalmazást, mivel a felhasználói műveletekre reagálnak egyszerű alkalmazás nincs megadva (IDC_BUTTON1, IDC_EDITFIELD1 stb. - a gomb Name tulajdonságának értéke).
PButtonOk = statikus_cast
Ebben a szakaszban már futtathatja az alkalmazást, és megnézheti, hogyan kerülnek be az adatok a szimulátorba, de természetesen nincs haszna a gombnyomás események feldolgozásáig.
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 üres kapcsolóval rendelkezik 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: // gombnyomás válasza Kiszámítása ( // a fokok karakterlánc-ábrázolása, a szélességi fok percei és másodpercei és... String B_deg_str(__pB_deg->GetText()); String B_min_str(__pB_min->GetText()); String B_sec_str(__pB_sec->GetText()); //...hosszúság String L_deg_str (__pL_deg ->GetText()); String L_min_str(__pL_min->GetText()); String L_sec_str(__pL_sec->GetText()); // ... magasság String H_str(__pH->GetText()); double B_deg A ,B_min); eredmény r3=Double::Parse(B_sec_str,B_sec); eredmény r4=Double::Parse(L_deg_str,L_deg); eredmény r5=Double::Parse(L_min_str,L_min); ); eredmény r7=Double: :Pars e(H_str,H); // 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); StringstrX; StringstrY; // numerikus koordinátaértékek konvertálása karakterlánc-reprezentációvá strX.Format(MAX_BUFF_SIZE,L"%f",X); strY.Format(MAX_BUFF_SIZE,L"%f",Y); // a fogadott számok megjelenítése a címkében __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 CANCEL gombokkal és egy kérdéssel - minden mező törlése? MessageBox *pMessageBox = new MessageBox(); pMessageBox->Construct(L"MessageBox", L"Clear all fields?" , MSGBOX_STYLE_OKCANCEL ,9000); int ModalResult; pMessageBox->ShowAndWait(ModalResult); // ha a válasz igen, akkor... if (ModalResult==MSGBOX_RESULT_OK) ( // ... törlés beviteli mezők és Címke __pB_deg->Clear(); __pB_min->Clear(); __pB_sec->Clear(); __pL_deg->Clear(); __pL_min->Clear(); __pL_sec->Clear(); __pH-> (); __pX ->SetText(L"X=");__pY->SetText(L"Y="); ) // MessageBox törlése pMessageBox törlése; ) break; alapértelmezett: break; ) )
Megjelenés szimulátorral futó program alábbiak szerint:
Ugyanez a MessageBox-szal:
Úgy tűnik, ez minden. Szeretném megjegyezni, hogy az alkalmazás egyáltalán nem állítja a lefedettség szélességét és az összes megfogalmazás helyességét, például egyáltalán nincs „bolond védelem”, mivel remélem barátom és négy ember józan eszét. kollégái, akiknek ez a program készült.
A közelmúltban újabb pályázat érkezett a Bada fejlesztésére - meg kell keresni és a térképen megjeleníteni a legközelebbi 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 tulajdonképpen mihez kezdjen tovább a programmal, akkor erről a Bada Developer honlapján található cikkek részletesen kitérnek, erre nem térek ki, hiszen a programozás még mindig bonyolultabb téma.
A pályázati források rendelkezésre állnak
» Whatsapp a bada számára
Ha Ön a tulajdonos Samsung okostelefon a Bada operációs rendszert futtatva nem tudja egyetlen gombnyomással telepíteni a Whatsappot. A telepítéshez ingyenesen le kell töltenie a Whatsapp for Bada alkalmazást, majd telepítenie kell.
A Watsap for Bud különleges beállítási fájl ehhez az operációs rendszerhez igazítva. 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 ezzel az operációs rendszerrel rendelkező 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 éles modellekhez samsung sorozat Wave, amely egy módosított Android operációs rendszer. Mivel ez nem teljesen Android, a WhatsApp-ot sem 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 azonnal letöltheti telefonjáról. A fájl elég nagy (kb. 35 MB), így ha nincs korlátlan internet telefonján, jobban csatlakozhat wifi hálózatok majd töltse le. Általában ez a fájl nem az archívumban töltődik le, hanem azonnal telepítőfájlként. Ezért nem kell kicsomagolnia vagy mást tennie további műveletek.
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 internethez, a kamerához, a mikrofonhoz stb. Mindent engedélyezünk, különben nem települ a program.
3. Regisztrálunk a whatsappban telefonszámmal és SMS-ben visszaigazolással, és elkezdjük használni!
Regisztráció és bejelentkezés után a Whatsappon keresztül tudod majd használni:
- segítségével kommunikál szöveges üzenetek, audio- vagy videokonferencia;
- 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 okostelefon-modellt adnak ki Bada operációs rendszer alatt, de léteznek, és valószínű, hogy a jövőben a Samsung folytatja az okostelefonok gyártását ezzel az operációs rendszerrel. Most a Wave sorozat összes okostelefonja fel van szerelve a Bada operációs rendszerrel. Teljes lista modellek az alábbi táblázatban.
Nemrég sikerült egy "okostelefon" tulajdonosa lenni Samsung hullám 525 a Bada operációs rendszerrel. Elvileg csak két funkcióra volt szükségem a telefonból - zenelejátszó, amelybe beillesztheti normál fejhallgató 3,5 hüvelykes minijack csatlakozóval és Wi-Fi-n keresztüli internet-hozzáféréssel. A vadonatúj Wave 525 minderre változó sikerrel képes. „De – gondoltam –, mivel van mersze ahhoz, hogy okostelefonnak nevezze magát, teljesen fel kell töltenie. És elkezdte tölteni.
A Bada rendszerrel rendelkező telefonon lévő összes "natív" alkalmazás telepítése ezen keresztül történik samsung bolt Alkalmazások elemre. Csatlakozhat hozzá vagy a telefonon lévő azonos nevű alkalmazáson keresztül, vagy számítógéphez csatlakozva asztali programmal Samsung Kies. Mert a otthoni wifi Még nem kaptam meg, 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 emlékezetemben még mindig élnek az előző telefonom firmware-frissítésének emlékei egy szabadalmaztatott programmal - Sony Ericsson k800i. A frissítési programot a hivatalos orosz oldalról töltötték le, 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 két levelek arról, hogy jegyet nyitottak a problémámra, és idővel megoldják. azt boldog idő szóval soha nem történt meg.
De elég kitérő. Szomorú tapasztalatomat elvetve továbbra is megnyomtam a "Firmware frissítése" gombot. És... nem történt semmi. A telefon kikapcsolt, majd újra csatlakozott, és újra felbukkant a firmware frissítését kínáló 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 - főleg az árak fizetős alkalmazások 10 és 50 hrivnya között ingadozik ingyenes szoftver sok. Bár, mint később kiderült, a mennyiség itt nem kezdett minőséggé válni.
Azonnal megdöbbentett a lokalizált alkalmazások szinte teljes hiánya. Sőt, nem csak az ismerősen és viszonylag érthetően angol nyelv, de teljesen olvashatatlan arabul, kínaiul is (japánul? koreaiul? menj, találd ki ezeket a hieroglifákat...). Különösen meglepett a „csak vietnami” (csak vietnami nyelvű) utószóval ellátott alkalmazások hihetetlen bősége. 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 ilyen "gondos" kiválasztásának köszönhetően az egész áruház a nem megfelelő szoftverek szemétdombjára hasonlít. Még mindig találtam erőt, hogy elmélyüljek benne, és pár nap alatt szinte mindent lapátoltam ingyenes alkalmazások. Ezt követően háromféle, különböző fokú nyomorultságú zongora jelent meg az okostelefonomon, több lassú játék, egy lassú, de szép jegyzetelő program, egy Pipeline Dropbox kliens, egy program hangokkal a kikapcsolódáshoz, és egy egyszerű program a Vibrator (találd meg) mit csinál).) Minden. Rendkívül hasznos szoftver, kétségtelenül. 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 - "ЄKontakt". A képernyőképeken a program meglehetősen tisztességesnek és még szépnek is tűnik. Legalábbis ez szinte az egyetlen olyan alkalmazás, amely hasonló kialakítású a telefon interfészéhez, és "natív"-nak 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 soha nem jöttem rá, miért lesz szükségem rá.
Ilyenek a benyomások. Az emberek ezeken az interneteken azt mondják, hogy a Bada egy nagyon fiatal operációs rendszer, ezért van az egész káosz. Lássuk, talán idővel megjelennek a normális alkalmazások, rendet tesznek a boltban. Eddig rossz.
Általában véve nem vagyok az ilyen dolgok híve. Szerintem a fejlesztőknek meg kell fizetni a munkájukat. 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 felülvizsgálatra meglehetősen elfogadhatónak tűnik. Mindenesetre van rá mód, és működik. Tekintettel arra, hogy a badafonok tulajdonosainak további sorsa általában érthetetlen, végül nem tartom szégyenletesnek a fejlesztések felhasználását.
Szóval, mint mindig, most is figyelmeztetlek – az út működik. magam teszteltem. De mindenesetre, ha megzavarja az eszköz teljesítményét, ezek csak az Ön problémái. Csináljon mindent az utasítások szerint, és minden úgy fog működni, mint egy óra. Üzlet.
Kezdjük el.
teszteltem ez a módszer Samsung S8500 Wave-en és hivatalos ukrán firmware-en. Letöltheti innen.
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)
Betesszük az Angry Birds-t.
Először is flasheljük meg magunknak az apps_Compressed_spoof_Wave_ fájlt (attól függően, hogy melyik 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. A képernyőkép kattintható:
Hozzáadjuk a fájlunkat. Egyszerűen behúzhatja a program ablakába. Kivágtuk a telefont. Egyszerre tartjuk lenyomva a hangerőgombot + zár + kapcsolja be (piros cső). A Letöltés mód világít. Ezután Port Search. Majd Letöltés. Ha már varrtad a telefonodat, ez nem újdonság számodra.
A fájl tömörítve van – jó.
Bada Wave Spoof kicsomagolása után (program az archívumban). Ilyen fájlt találunk benne: BadaCertificate.cer. A telefonra másoljuk (nem mindegy, hogy hova, de jobb az Egyebek mappába). Bemegyünk a telefonba abba a mappába, ahová másoltuk, és rákoppintunk a fájlra. Fogadja el a figyelmeztetést, és telepítse a tanúsítványt.
Csomagolja ki az archívumot a játékkal vagy alkalmazással, esetünkben az AngryBirds.rar archívumával, és adja meg a mappa elérési útját, és különösen az application.exe játék (esetünkben AngryBirds.exe) nevű fájlt. ).
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 először az 1. Aláírás, majd az 2. Átnevezés gombot.
Másik lehetőségként először nyomja meg az 1. Aláírás gombot
Mindenki itt van. Lépjen a Másolás fülre. Cserélhető lemez módba vágjuk a telefont, és a legördülő listából kiválasztunk egy 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ágjuk 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. Belevágtuk a telefont Samsung mód Kies.