Instaliranje aplikacija na bada 2.0 moguće greške. Samsung Apps za Bada OS - dojmovi zlog korisnika. Stvarna izrada aplikacije

08.12.2019 Zanimljiv

Zdravo. Prije svega, želio bih svima poželjeti sretnu Novu godinu i odmah prijeći na stvar. Ovaj će se članak usredotočiti na pitanje stvaranja jednostavni programi za Bada - operativni sustav za Mobilni uredaji koji se oslobađaju Korejski Samsung. Želio bih unaprijed reći da je ispod rezanja jednostavan recept za izradu jednostavne aplikacije bez dugih rasprava o optimalnosti i harmoničnosti koda.
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