Instaliranje aplikacija na bada 2.0 moguće greške. Samsung Apps za Bada OS - dojmovi zlog korisnika. Stvarna izrada aplikacije
Na Habréu već postoje dosta detaljni članci koji su posvećeni Badi, npr. ovaj i ovaj, ali ovdje opis korak po korak Ne postoji izrada aplikacije za početnike. Ako nekoga zanima neka pogleda kat.
Tema za pisanje nastala je slučajno - poznanik se aktivno bavi utvrđivanjem granica zemljišnih čestica pomoću GPS-a u geodetskoj tvrtki; specifičnosti rada (odakle dolazi - dobro pitanje) je da se dobivene geodetske koordinate (dopustite mi da pojasnim da to znači zemljopisna širina i dužina) moraju biti pretvorene u pravokutne koordinate odmah nakon što su primljene. Tvrtka nema prijenosna računala sposobna izdržati 8-satni radni dan i ne planira, ali poznanik je nedavno sebi kupio pametni telefon od Samsunga, koji se aktivno promovira u Ukrajini, s operacijski sustav Bada, onda je došlo pitanje - ako možete skinuti igrice za svoj telefon, postoji li aplikacija koja može riješiti opisani čisto inženjerski problem? Naravno, takva prijava nije pronađena, a dobio sam ljubaznu ponudu da je napišem uz određenu naknadu.
Alati
Za razvoj aplikacija za Badu koristi se Bada SDK 1.2.0 koji se može preuzeti registracijom na web stranici Bada developer. U ovom procesu nema ništa komplicirano, ali u fazi odabira datoteka za preuzimanje, ja sam, iskreno, "izgubio", preuzimajući samo SDK, ali ne i takozvani jezični paket, nadajući se da će, kako je napisano na web mjestu, preuzimanje će se dogoditi automatski nakon instaliranja SDK-a. Međutim, nešto je pošlo krivo tijekom faze instalacije; instalacija je nastavljena bez preuzimanja jezičnog paketa, što je kasnije dovelo do nemogućnosti izgradnje ili, štoviše, pokretanja aplikacije.Nakon preuzimanja SDK-a i jezičnog paketa potrebno ih je smjestiti na jedno mjesto, a prilikom instalacije SDK-a ili njegove izmjene, instalater će preuzeti jezični paket i samostalno ga instalirati.
Stvarna izrada aplikacije
Razvojno okruženje temelji se na Eclipseu, korištenom programskom jeziku C++. Krenimo prijeći na stvaranje nove aplikacije s očitom naredbom File -> New -> bada Application Project. U prozoru koji se pojavi potrebno je u polju Naziv projekta navesti naziv projekta, au popisu Vrsta projekta odabrati vrstu aplikacije - bada Form Based Application.
Zatim će okolina od vas tražiti da odredite Tehničke specifikacije uređaj za koji će aplikacija biti namijenjena (rezolucija zaslona, dostupnost GPS-a itd.). Ovi parametri su definirani u posebna datoteka manifest Manifest.xml, koji možete odabrati između SDK datoteka, izraditi i preuzeti s web stranice Bada Developers ili izraditi vlastitu. Bez daljnjeg odlaganja, upotrijebio sam datoteku manifesta iz mapa Samples koje su instalirane s SDK-om, budući da moja aplikacija nije zahtijevala ništa posebno, već je samo razlučivost zaslona bila važna.
Zatim će okolina od vas tražiti da navedete korijenski direktorij SDK-a; s tim ne bi trebalo biti problema. Nakon odabira, na popisu će se pojaviti naziv modela uređaja i njegov API koji će se u budućnosti koristiti za programiranje.
Sljedeći korak je definiranje naziva zadane forme koja će se pojaviti odmah nakon pokretanja aplikacije. Datoteke *.h i *.cpp bit će generirane pomoću ovog imena.
Zatim ćete morati odrediti želite li ili ne dodati podršku za automatsko skaliranje i najbolju razlučivost zaslona ako se ova značajka doda. Razumijem da je bolje to učiniti jer će aplikacija moći raditi dalje različite uređaje s različitim rezolucijama i nećete ga morati ponavljati.
Sljedeća karika u dugom lancu postavki je određivanje ID-a aplikacije, kako bi se potvrdile funkcije aplikacije ako treba čitati i pisati u zaštićene mape. Ovo mi nije trebalo, pa sam izostavio ovaj korak.
Skoro gotovo - definiranje očitih svojstava aplikacije Naziv, Dobavljač i Opis.
I sada je gotovo gotovo - ovo je određivanje potrebnih konfiguracija za razvoj: preporučujem da sve ostavite prema zadanim postavkama, ali sada je najvažnija konfiguracija Simulator-Debug - ovo je mogućnost otklanjanja pogrešaka koda na simulatoru uređaja, Target-Release - konfiguracija za kompajliranje aplikacije prije učitavanja na pravi uređaj.
Posljednji korak je sažetak svih postavki u prozoru Sažetak, koji možete ponovno pročitati i provjeriti jesu li sve ispravno odabrane.
Nakon dovršetka postavki, buduća aplikacija se pojavljuje u Project Exploreru, klikom na koju dolazi do proširenja datoteka resursa u prozoru Resursi i pojavljuje se sljedeći prozor:
Nakon klika na obrazac (i općenito na bilo koju kontrolu) na kartici Svojstva, možete promijeniti očita svojstva aplikacije, kao što su tekst u naslovu, boja pozadine, prisutnost i naziv tipki za programiranje.
Odmah sam pomaknuo gotovi gumb, koji je okruženje ljubazno generiralo, niže i napisao na njemu Izračunaj. Uz GUI Editor, lako je dobiti sljedeće sučelje, koje je dobro prilagođeno za moj zadatak (vjerujem da proces prijenosa kontrola u obrazac i postavljanje njihovih svojstava ne izaziva nikakve poteškoće); očita oznaka je korištena kao oznaka za polja za unos, a EditField je korišteno kao polje za unos; Oznake se također koriste za prikaz rezultata izračuna jer se ne mogu uređivati:
Sada za stvarno kodiranje.
Pokrenuta aplikacija prolazi kroz nekoliko faza (Pomoć je vrlo detaljna, detalje možete pronaći tamo), sada nas prvenstveno zanima faza inicijalizacije aplikacije za koju je odgovorna OnInitializing(void) metoda klase forme koja može naći u datoteci<ВАША_ФОРМА>.cpp u src mapi projekta.
Prema zadanim postavkama ova metoda izgleda ovako:
Result Form1::OnInitializing(void) ( result r = E_SUCCESS; // TODO: Dodajte svoj inicijalizacijski kod ovdje // Dobijte gumb putem ID-a resursa __pButtonOk = static_cast
Napravio sam to ovako:
zaštićeno: static const int ID_BUTTON_OK = 101; // novi ID akcije za gumb CLEAR static const int ID_BUTTON_CLEAR=102; // geodetske konstante static const int a=6378137; static const float alfa=1/298.257223563; Osp::Ui::Controls::Button *__pButtonOk; // novo polje: gumb Osp::Ui::Controls::Button *__pButtonClear; // nova polja: izmjene i oznake 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;
Sada u metodi OnInitializing(void) možete stvoriti gumb Clear i dodijeliti mu Id Action i slušatelja događaja "listener". Isto ćemo učiniti s EditField i Label, međutim, bez dodavanja Id Action i Event Listener jer njihova reakcija na radnje korisnika nije navedena u našoj jednostavnoj aplikaciji (IDC_BUTTON1, IDC_EDITFIELD1, itd. su vrijednosti Naziva svojstvo za gumb).
PButtonOk = static_cast
U ovoj fazi već možete pokrenuti aplikaciju i vidjeti kako se podaci unose u simulator, ali naravno nema koristi dok se događaji klikanja gumba ne obrade.
Za rješavanje ovog problema koristi se metoda klase forme OnActionPerformed(const Osp::Ui::Control& source, int actionId). Kao što vidite, drugi parametar je već spomenuti ID radnje. Kada se aplikacija izvrši, događaji klikanja gumba se "slušaju" i ID radnje koji im je dodijeljen prosljeđuje se OnActionPerformed(const Osp::Ui::Control& source, int actionId). Ako je ovdje predviđena obrada za takav identifikator, ona se izvodi.
OnActionPerformed ima predložak prekidača za analizu parametra actionId, prikladan je za korištenje. Zatim ću si dopustiti da dam kod ove metode s detaljnim komentarima:
Void Form1::OnActionPerformed(const Osp::Ui::Control& source, int actionId) ( const int MAX_BUFF_SIZE = 512; switch(actionId) ( case ID_BUTTON_OK: // reakcija na pritisak gumba Izračunaj ( // dobijte prikaz niza od stupnjevi, minute i sekunde geografske širine i... niz B_deg_str(__pB_deg->GetText()); niz B_min_str(__pB_min->GetText()); niz B_sec_str(__pB_sec->GetText()); //...dužina String L_deg_str(__pL_deg ->GetText()); String L_min_str(__pL_min->GetText()); String L_sec_str(__pL_sec->GetText()); // ... visina String H_str(__pH->GetText()); double B_deg,B_min ,B_sec; double L_deg,L_min,L_sec; double H; // pretvaranje nizova reprezentacija brojeva u stvarni oblik za rezultat izračuna r1=Double::Parse(B_deg_str,B_deg); rezultat r2=Double::Parse( B_min_str,B_min); rezultat r3=Double::Parse(B_sec_str,B_sec); rezultat r4=Double::Parse(L_deg_str,L_deg); rezultat r5=Double::Parse(L_min_str,L_min); rezultat r6=Double:: Raščlanjivanje(L_sec_str,L_sec); rezultat r7=Double::Raščlanjivanje(H_str,H); // izračuni dvostruko b_in_decimal=B_deg+B_min/60+B_sec/3600; dvostruko l_in_decimal=L_deg+L_min/60+L_sec/3600; dvostruki eSqr=2*alfa-(alfa*alfa); dvostruko N=a/Math::Sqrt(1-eSqr*(Math::Sin(b_in_decimal))*(Math::Sin(b_in_decimal))); dvostruko X=(N+H)*Math::Cos(b_in_decimal)*Math::Cos(l_in_decimal); dvostruko Y=(N+H)*Matematika::Cos(b_u_decimali)*Matematika::Sin(l_u_decimali); String strX; String strY; // pretvaranje numeričkih vrijednosti koordinata u prikaz niza strX.Format(MAX_BUFF_SIZE,L"%f",X); strY.Format(MAX_BUFF_SIZE,L"%f",Y); // izlaz primljenih brojeva u Label __pX->SetText(L"X="+strX);__pY->SetText(L"Y="+strY); __pX->Crtaj();__pY->Crtaj(); __pX->Prikaži();__pY->Prikaži(); ) pauza; case ID_BUTTON_CLEAR: ( // reakcija na pritisak gumba Clear // kreira dijaloški okvir s tipkama OK i CANCEL i pitanjem - poništi sva polja? MessageBox *pMessageBox = new MessageBox(); pMessageBox->Construct(L"MessageBox" , L"Obrisati sva polja?" , MSGBOX_STYLE_OKCANCEL ,9000); int ModalResult; pMessageBox->ShowAndWait(ModalResult); // ako je odgovor pozitivan, onda... if (ModalResult==MSGBOX_RESULT_OK) ( // ... očistite polja za unos i oznaku __pB_deg->Clear(); __pB_min->Clear(); __pB_sec->Clear(); __pL_deg->Clear(); __pL_min->Clear(); __pL_sec->Clear(); __pH- >Clear(); __pX ->SetText(L"X=");__pY->SetText(L"Y="); ) // izbriši MessageBox izbriši pMessageBox; ) break; zadano: break; ) )
Izgled simulator sa pokrenuti program kako slijedi:
Isto s okvirom za poruke:
Čini se da je to sve. Napominjem da prijava nimalo ne pretendira biti široka i korektna u svim formulacijama, npr. nema uopće “zaštite od budala”, jer se nadam zdravom razumu svog prijatelja i njegovih četiriju kolega za koje ovaj program je namijenjen.
Nedavno je primljena još jedna aplikacija za razvoj Bada - potrebno je pretraživati i prikazivati obližnje objekte na karti, poput bankomata ili terminala za dopunu računa. Ako je ova tema nekome zanimljiva, rado ću podijeliti svoje iskustvo.
Ako netko ima pitanje što dalje s programom, to je detaljno obrađeno u člancima na web stranici Bada Developer, neću se doticati toga jer je programiranje ipak složenija tema.
Dostupni su izvori aplikacija
» Whatsapp za Bada
Ako ste vlasnik Samsung pametni telefon s operativnim sustavom Bada, nećete moći instalirati Whatsapp jednim pritiskom na gumb. Za instalaciju morate besplatno preuzeti Whatsapp za Bada i zatim ga instalirati.
Whatsapp za Bud je poseban instalacijsku datoteku, prilagođen za ovaj operativni sustav. Ovo je neslužbena verzija glasnika, ali radi stabilno i pruža mogućnost uživanja u svim prednostima WhatsAppa. Proizvođači pametnih telefona s ovim OS-om ostali su gluhi na zahtjeve korisnika da ovu aplikaciju prebace na Bada platformu.
Bada je operativni sustav za proizvodne modele Samsung serija Wave, koji je modificirani Android OS. Budući da ovo nije baš Android, nećete pronaći WhatsApp u trgovinama aplikacija za Bud. Ali zahvaljujući brižnim programerima, možemo preuzeti prilagođenu WhatsApp datoteku za Bada i instalirati rusku verziju.
Postupak instalacije
1. Preuzmite WhatsApp datoteku s nastavkom .apk. Možete ga preuzeti na svoje računalo i potom prenijeti na svoj telefon ili ga preuzeti izravno sa svog telefona. Datoteka je prilično velika (oko 35 MB), pa ako nemate neograničeni internet na svom telefonu, bolje se povezati s Wi-fi mreže a zatim preuzeti. Obično se ova datoteka ne preuzima unutar arhive, već odmah kao instalacijska datoteka. Stoga ga nema potrebe raspakirati ili učiniti bilo što drugo dodatne akcije.
2. Pokrenite datoteku i pričekajte instalaciju. Ako pri pokretanju primite poruke o potrebi promjene sigurnosnih postavki, onemogućite to. Nakon instalacije obavezno ga ponovno uključite! Možda ćete također trebati dozvole za pristup internetu, kameri, mikrofonu itd. Dopuštamo sve, inače se program neće instalirati.
3. Registrirajte se na WhatsApp koristeći svoj broj telefona i SMS potvrdu i počnite ga koristiti!
Nakon registracije i prijave, možete putem Whatsappa:
- komunicirati pomoću tekstualne poruke, audio komunikacije ili video konferencije;
- slanje fotografija, videa, dokumenata, dodavanje emotikona;
- sudjelovati u komunikaciji u općim grupama;
- pogledajte tko iz vaše knjige kontakata već ima WhatsApp i pozovite one koji ga još nemaju instaliran.
Malo je modela telefona i pametnih telefona koji se izdaju za operativni sustav Bada, ali oni postoje i vjerojatno će u budućnosti Samsung nastaviti proizvoditi pametne telefone s ovim operativnim sustavom. Sada su svi pametni telefoni Wave serije opremljeni Bada OS-om. Cijeli popis modeli u tablici ispod.
Nedavno sam uspio postati vlasnik "pametnog telefona" Samsung Wave 525 s operativnim sustavom Bada. Uglavnom, trebale su mi samo dvije funkcije od telefona - glazbeni player, u koje se možete zalijepiti obične slušalice s 3,5-minijackom i pristupom internetu putem Wi-Fi veze. Novi Wave 525 može sve to s različitim stupnjevima uspjeha. "Ali", pomislio sam, "budući da ima hrabrosti nazvati se pametnim telefonom, moramo ga napuniti do kraja." I počeo je puniti.
Sve “native” aplikacije na telefonu sa sustavom Bada instalirane su putem Samsung trgovina aplikacije. Na njega se možete spojiti putem istoimene aplikacije na telefonu ili povezivanjem s računalom putem desktop programa Samsung Kies. Jer kućni Wi-Fi Još ga nisam nabavio, odabrao sam drugu opciju.
Prilikom spajanja telefona na računalo, Kies je odmah ponudio ažuriranje firmvera. Ovdje treba napomenuti da se još uvijek živo sjećam ažuriranja firmvera s vlasničkim programom na mom prethodnom telefonu - Sony Ericsson k800i. Program za ažuriranje preuzet je sa službene web stranice na ruskom jeziku, postupak ažuriranja firmvera bio je uspješan. Nakon toga, našao sam se u rukama s prekrasnim telefonom na engleskom jeziku bez ikakvih znakova ruskog jezika. Nakon toga sam nekoliko puta pisao tehničkoj podršci - svaki put me robot vratio dva pisma u kojima stoji da su otvorili tiket za moj problem i da će ga s vremenom riješiti. Ovaj sretno vrijeme nikad se nije dogodilo.
Ali dosta lirskih digresija. Odbacivši svoje tužno iskustvo, ipak sam kliknuo gumb "Ažuriraj firmver". I... ništa se nije dogodilo. Telefon je prekinuo vezu, zatim se ponovno povezao i ponovno se pojavio prozor s upitom za ažuriranje firmvera. Tehnologija čini čuda.
U app storeu sam pogledao cijene i malo se smirio. Bojao sam se da su cijene u ukrajinskom ogranku Samsung Apps bile nekako pretjerano lude. To nije sasvim točno - uglavnom cijene za plaćene aplikacije u rasponu od 10 do 50 grivna, a postoji i puno besplatnog softvera. Iako, kako se kasnije pokazalo, kvantiteta ovdje nije počela prelaziti u kvalitetu.
Odmah mi je zapelo za oko gotovo potpuno odsustvo lokaliziranih aplikacija. Štoviše, ne samo u poznatom i relativno razumljivom Engleski jezik, ali i na potpuno nečitljivom arapskom, kineskom (japanskom? korejskom? Idi figuriraj ove hijeroglife...). Posebno me iznenadilo nevjerojatno obilje prijava s napomenom “Vietnamese only” (samo na vijetnamskom). A ovo je u ukrajinskom dijelu trgovine! Je li netko bio previše lijen za postavljanje regija distribucije?
Zahvaljujući ovom "pažljivom" odabiru aplikacija, cijela trgovina nalikuje deponiji nekvalitetnog softvera. Ipak sam smogao snage da se udubim u to i u par dana sam gotovo sve prelopatao besplatne aplikacije. Nakon toga pojavio se moj pametni telefon: tri vrste klavira različitog stupnja jadnosti, nekoliko sporih igračaka, jedan spor ali lijep program za note, Dropbox klijent Pipeline, program sa zvukovima za opuštanje i jednostavan program Vibrator (možete pogoditi što čini ). Svi. Krajnje koristan softver, bez sumnje. Za čitanje knjiga morao sam instalirati Foliant java aplikaciju (usput, odličan program). Nije bilo normalnog media playera koji bi zamijenio loš audio i video player telefona, čak ni u plaćenim aplikacijama.
Zabavljala me prisutnost plaćenog klijenta za VKontakte od GlobalLogic inc - “ÊKontakte”. Na snimkama zaslona program izgleda sasvim pristojno, pa čak i slatko. Barem, ovo je gotovo jedina aplikacija koja je po dizajnu slična sučelju samog telefona i čini se "nativnom" - a to se ne može reći čak ni za neke od aplikacija uključenih u paket. Ali nisam kupio ovu aplikaciju jer nisam mogao shvatiti zašto mi je potrebna.
Ovo su dojmovi. Kažu ljudi na ovim vašim internetima da je Bada jako mlad OS, pa je zato sve frka. Da vidimo, možda će se s vremenom pojaviti normalne aplikacije, trgovina će se dovesti u red. Zasad je sve loše.
Općenito, sigurno nisam pobornik takvih stvari. Vjerujem da programeri trebaju dobiti novac za svoj rad. No, uvjeren sam da će odrasla, platežno sposobna osoba kupiti igru ili program ako mu se svidi. Nažalost, ne može se sve isprobati bez kupnje, pa stoga, iz ove perspektive, instaliranje plaćenog softvera za procjenu izgleda sasvim prihvatljivo. U svakom slučaju postoji način i on funkcionira. Također, s obzirom na to da je buduća sudbina vlasnika badafona općenito neshvatljiva, ne mislim da je sramotno konačno iskoristiti razvoj događaja.
Dakle, kao i uvijek, upozoravam vas - metoda djeluje. Isprobao sam ga na sebi. Ali u svakom slučaju, ako poremetite performanse svog uređaja, to je samo vaš problem. Učinite sve prema uputama i sve će raditi kao sat. Dogovoren.
Započnimo.
testirao sam ovu metodu na Samsung S8500 Wave i službeni ukrajinski firmware. Možete ga preuzeti s .
Ne treba nam puno.
1. Multiloader – uzmite ga do . Bilo koja verzija, ali ja bih uzeo najnoviju.
2. Datoteka apps_Compressed_spoof_Wave_I.bin – skinite je s linka (ovo je za prvi val, za Ukrajinu)
Instalirajmo Angry Birds.
Prije svega, flashiramo datoteku apps_Compressed_spoof_Wave_ (ovisno o tome koji val imate). Ovo se radi jednom. Da biste to učinili, pokrenite Multiloader i odaberite LSI, Boot Change i Full Download. Snimku zaslona je moguće kliknuti:
Dodajte svoju datoteku. Možete ga jednostavno povući i ispustiti u prozor programa. Isključujemo telefon. Istovremeno pritisnite i držite tipku za smanjenje glasnoće + zaključavanje + uključivanje (crvena cijev). Zasvijetlit će način preuzimanja. Zatim Port Search. Zatim Preuzmi. Ako ste ikada sami šivali svoj telefon, to vam nije novost.
Turpija je ušivena - dobro.
Zatim raspakirajte Bada Wave Spoof (program u arhivi). Unutra nalazimo sljedeću datoteku: BadaCertificate.cer. Kopiramo ga na telefon (nije važno gdje, ali bolje je u mapu Ostali). Na telefonu idite u mapu u koju ste je kopirali i dodirnite datoteku. Složite se s upozorenjem i instalirajte certifikat.
Raspakiramo arhivu s igrom ili aplikacijom, u našem slučaju arhivu AngryBirds.rar i odredimo put do mape i, posebno, do datoteke s nazivom igre application.exe (u našem slučaju AngryBirds.exe) .
Najvjerojatnije će datoteka biti u mapi Bin. Označite okvir kao što je prikazano na snimci zaslona. Alternativno pritisnite tipku 1. Potpiši, a zatim tipku 2. Preimenuj.
Jedan po jedan, prvo pritisnite gumb 1. Potpišite
Svi su ovdje. Idite na karticu Kopiraj. Povezujemo telefon u načinu prijenosnog diska i odabiremo memorijsku karticu na padajućem popisu. Ako nije, kliknite gumb s dvije zelene strelice pored njega. Čekamo da se učita.
Nakon uspješnog kopiranja. Odspojimo telefon i idemo na telefon putem Postavke - Općenito - Mjesto instalacije - odaberite memorijsku karticu. Isključujemo telefon Samsung način rada Kies.