Õppige Androidi jaoks rakendusi tegema. IbuildApp on võimas mootor oma projektide arendamiseks. Oma idee uuesti läbivaatamine

Igal aastal muutub Androidi operatsioonisüsteem mitte ainult tavakasutajatele sobivaks OS-iks, vaid ka võimsaks platvormiks arendajatele. Noh, mida saate teha: Google kohtub arendajatega alati poolel teel, pakkudes rohkelt võimalusi ja võimsaid tööriistu, mida on maitsestatud informatiivse dokumentatsiooniga.
Lisaks ei tohiks unustada tõsiasja, et "roheline robot" on mobiilsete operatsioonisüsteemide populaarsuse liider. See viitab sellele, et Androidi jaoks programmeerimisel on teil lai vaatajaskond, mis võib hiljem kasumit tuua. Üldiselt on Android arendajatele omamoodi "oaas". Seetõttu oleme selle OS-i jaoks koostanud teile spetsiaalse valiku programmeerimiskeeli ja arenduskeskkondi.
Tähelepanu, väike nõuanne algajatele
: Androidi programmeerimine võib alguses tunduda keeruline või liiga üksluine. Näpunäide. Enne alustamist tutvuge kasuliku dokumentatsiooni linkidega ja siis ei valmista Androidis programmeerimine teile probleeme.

Java on Androidi arendajate peamine tööriist

Arenduskeskkonnad: Android Studio (IntelliJ IDEA), Eclipse + ADT pistikprogramm
Sobib kasutamiseks lai valik ülesandeid
Java on Androidi programmeerijate peamine keel, mis on algajatele kohustuslik. Peamine Androidi lähtekood on kirjutatud selles keeles, seega on lihtne mõista, miks enamik inimesi selle keele valib. Javas kirjutatud rakendused töötavad Androidis, kasutades Java virtuaalmasina analoogi ART virtuaalmasinat (või Dalvikut Jelly Beanis ja Androidi varasemates versioonides), mille üle Google peab tõsist juriidilist võitlust Oracle'iga.

Google toetab praegu ametlikult üsna võimsat Android Studio arenduskeskkonda, mis on üles ehitatud JetBrainsi Intellij IDEA-le. Ärge unustage ka Google'i väga üksikasjalikku dokumentatsiooni, mis hõlmab kõike alates match_parent ja wrap_content kuni klassi JavaHttpConnection konstruktorite, konstantide ja põhimeetoditeni – see on kindlasti lugemist väärt.

Samuti ärge unustage Java programmeerijate jaoks väga populaarset keskkonda Eclipse. Tänu Google'i ametlikule ADT pistikprogrammile saab sellest tööriistakomplektist teie käes võimas ja kerge relv. Kuid Mountain View'i poisid lõpetasid Eclipse'i toetamise alates eelmisest suvest, andes teed uuele Android Studiole. Soovitatav kasutada nõrkadel arvutitel.

Nõutav dokumentatsioon:

C++ on võimas tööriist meistri käes

Peamised arenduskeskkonnad: Android Studio (versioon 1.3 ja uuem), Visual Studio 2015, QtCreator
Sobib kasutamiseks mängumootorid ja ressursimahukad rakendused.
C++ on keskealine, kuid väga võimas programmeerimiskeel, mis tähistas eelmisel aastal oma kolmekümnendat juubelit. See leiutati 1985. aastal tänu sõbra Björn Stroustrupi jõupingutustele ja on siiani populaarseimate programmeerimiskeelte seas kõrgeimal positsioonil. "Profid" annavad teile täieliku tegutsemisvabaduse, piirates teid ainult sellega, mis on mõistlik.


Kogu Androidi olemasolu jooksul on C++ jaoks loodud palju raamistikke ja arendustööriistu. Eriti tõstaksin esile tuntud Qt ja IDE QtCreatori, mis võimaldavad arendada platvormideüleseid rakendusi Windowsile, Windows Phone'ile, Windows RT-le, iOS-ile, SailfishOS-ile ja Androidile (kunagi oli selles nimekirjas ka Symbian). Lisaks saate mugava konteinerite, algoritmide ja mallide Tulpi teegi, mis neelab Java ja Androidi parima. Ja lõpuks saate süsteemiga kõrgel ja madalal tasemel töötamiseks palju erinevaid QT-mooduleid. Teie alandlik teenija koodib konkreetselt C++ ja Qt keeles.

Eelmisel aastal pälvis konverentsil Windows: The Next Champter laialdast tähelepanu küllaltki populaarne arenduskeskkond Visual Studio 2015. Üheks peamiseks uuenduseks oli nii Windows Phone’ile kui Androidile mõeldud rakenduste arendamise tugi – Microsoft üritas seda arvu kuidagi kasvatada. teie OS-i rakenduste hulgast.

Samuti on võimatu rääkimata sellest, et ametlik Android Studio hakkas toetama NDK-d. NDK abil saate Androidiga töötamisel kasutada OpenGL-graafikat. Kui vajad kiirust ja tõhusust – vali NDK! See arendusmeetod sobib suurepäraselt mängumootoritele, mis nõuavad suurt jõudlust.

Androidi arendamine C- või C++-vormingus võib tunduda lihtsam kui Java-s, kuid hoolimata asjaolust, et keel pakub teile täielikku tegevusvabadust ega piira teid teie sammudes, on sellel mõned spetsiifilised funktsioonid, mille õppimiseks kulub palju aega - mitte ilmaasjata on C++ võrreldud nunchuckidega (suurepärane relv, mis nõuab paraku suuri oskusi). Androidi rakenduste arendamine C ja C++ keeles võib aga olla lõbus.

Nõutav dokumentatsioon:

Muud keeled

Nüüd on aeg rääkida teistest vähem populaarsetest, kuid ka huvitavatest keeltest ja nende jaoks mõeldud raamistikest. Kuid paljudel põhjustel ei ole te Java ja C++ puhul nii edukas kui olete.

Corona (LUA skript)


Sobib kasutamiseks mängude ja lihtsate rakenduste loomine
Kui te ei soovi mingil põhjusel Java-t õppida või XML-i kaudu liidese loomisest aru saada, saate selle IDE-i ise valida. Corona on üsna kerge arenduskeskkond, mille kood peab olema kirjutatud üsna kerges LUA-s (Pascali armastajad hindavad seda).

See tööriistakomplekt on abiks lihtsate 2D-mängude kirjutamisel, mille jaoks on olemas teegid 2D-objektide, helide, võrgu- ja mängumootori jaoks. Loodud mängud töötavad OpenGL-iga, mis tähendab kõrget efektiivsust. Suurepärane algajatele, võib-olla siin saate luua oma esimese Androidi mobiilirakenduse!


Nõutav dokumentatsioon:

Adobe PhoneGap (HTML5, JavaScript, CSS)


Sobib kasutamiseks ressursimahukate rakenduste loomine
Kui olete HTML-i, CSS-i ja JavaScriptiga juba tuttav, võite alternatiivina proovida PhoneGapi. See IDE võimaldab teil luua täisväärtuslikke rakendusi, mis on välja töötatud ülalmainitud programmeerimis- ja märgistuskeeltes.

Tegelikult on PhoneGapi valmisrakendused kõige lihtsamad veebivaated, mis on animeeritud JavaScripti abil. Erinevaid API-sid kasutades saate kasutada erinevaid seadme funktsioone, nagu ka omarakendustes. Huvitav on see, et rakendused kompileeritakse serveris ja on seejärel saadaval kasutamiseks iOS-is, Androidis, Windows Phone'is, Web OS-is ja BlackBerry OS-is. Sellise laia platvormiülese funktsionaalsusega võib rakenduste arendamine märkimisväärselt kiirendada.


Nõutav dokumentatsioon:

Kaitse (JavaScript ja UX)


Sobib kasutamiseks luua nii lihtsaid kui ka keerukaid rakendusi
Kui inimesed räägivad Androidi arendustööriistadest, mõtlevad nad sageli Fuse'ile. See tööriist on üks kasutajasõbralikumaid omataolisi ning see võib pakkuda arendajale palju võimalusi ja eeliseid.

Fuse rakenduste põhiloogika on üles ehitatud JavaScriptile – lihtsale ja arusaadavale madala sisenemislävega keelele. Liidese vundamenti esindab UX märgistus - intuitiivselt arusaadav kõigile. Noh, keskkonna "kupid" võimaldavad teil muudatusi rakendada otse, kui rakendus teie seadmes või emulaatoris töötab – täpselt nagu Android Studio 2.0 ja uuemates versioonides. Fuse abil saab Androidi rakenduste arendamine olla lihtne ja nauditav.

Nõutav dokumentatsioon:

Sõnad "lõpu poole"

Loomulikult ei ole me teile kõiki praegu olemasolevaid arendustööriistu näidanud. Selle artikliga soovisime teile selgitada, et Androidi arendajaks saamine pole nii keeruline, kuigi nõuab sageli pingutust ja visadust. Mobiilplatvormide arendusmaailm on teile avatud, kuid pidage meeles: esimene samm on alati teie.

See õpetus õpetab teile põhitõdesid, kuidas Android Studio arenduskeskkonda kasutades Androidi rakendust kirjutada. Android-seadmed muutuvad üha tavalisemaks ja nõudlus uute rakenduste järele ainult suureneb. Android Studio on tasuta lihtsalt kasutatav arenduskeskkond.

Selle õpetuse jaoks on kõige parem, kui teil on vähemalt vähesed teadmised Javast, kuna Android kasutab seda keelt. Selles õpetuses ei ole liiga palju koodi, sest ma eeldan, et teil on Java-teadmised või olete valmis leidma midagi, mida te veel ei tea. Rakenduse loomine võtab aega 30–60 minutit, olenevalt sellest, kui kiiresti te kõik vajalikud programmid alla laadite ja installite. Pärast selle õpetuse järgimist oma esimese Androidi rakenduse loomise kohta võite leida endale uue lõbusa hobi või isegi alustada karjääri alustava mobiilirakenduse arendajana.

1. etapp: installige Android Studio

  1. Peate installima JDK ( Java arenduskomplekt) ja JRE (Java Runtime Environment). Saate selle sellelt lingilt alla laadida. Valige seal oma OS-i versioon, nõustuge litsentsilepinguga, laadige alla ja installige.
  2. Nüüd minge siia http://developer.android.com/sdk/index.html ja laadige alla (olge ettevaatlik, peate alla laadima umbes 3 gigabaiti).
  3. Alustame installimist ja järgime juhiseid.

2. etapp: looge uus projekt

  1. Avage Android Studio.
  2. menüüs " Kiire algus", valige " Alustage uut Android Studio projekti».
  3. Aknas" Loo uus projekt"(avanenud aken), pange oma projektile nimi" HelloWorld».
  4. Ettevõtte nimi pole kohustuslik.*
  5. Klõpsake " Edasi».
  6. Veenduge, et märkeruut oleks ainult valikus " Telefon ja tahvelarvuti».
  7. Kui plaanid oma esimest rakendust telefonis testida, siis veendu, et valitud on õige Androidi versioon (mitte vanem kui telefonis olev).
  8. Klõpsake " Edasi».
  9. vali " Tühi tegevus».
  10. Klõpsake " Edasi».
  11. Jätke kõik muud väljad nii, nagu nad on.
  12. Klõpsake " Lõpeta».

* Android-projektide tüüpiline ettevõtte nimi on "example.name.here.com".

3. etapp: tervituse redigeerimine

  1. Minge vahekaardile tegevust_main.xml, tõenäoliselt on see juba aktiivne.
  2. Veenduge, et ekraani allosas olev vahekaart oleks aktiivne Disain(tõenäoliselt on see tõsi).
  3. Lohistage fraas " Tere, Maailm! » telefoni vasakust ülanurgast ekraani keskele.
  4. Ekraani vasakus servas on kaustapuu. Avage kaust nimega " väärtusi».
  5. Topeltklõpsake selles kaustas failil " stringid.xml».
  6. Leidke sellest failist rida, mis sisaldab teksti " Tere maailm!" ja lisage sellele tekstile " Tere tulemastjuurdeminurakendus! ».
  7. Tagasi " tegevust_main.xml».
  8. Veenduge, et teie tekst oleks telefoni ekraani keskel ja sisaldaks teksti " Teremaailmas! Tere tulemastjuurdeminurakendus! ».

4. samm: lisage nupp

  1. lehel " tegevust_main.xml"vali vahekaart" Disain».
  2. Telefoni asukoha aknast vasakpoolses veerus leidke kaust nimega " Vidinad" Seal on erinevad nupud.
  3. Haarake " Nupp» ja lohistage see oma telefoni ekraanile. See peaks olema ekraani keskel otse teie teksti all.
  4. Veenduge, et nupp on endiselt valitud (sinine raam selle ümber).
  5. Alumises paremas nurgas on aken valitud objekti omadustega. Kerige alla ja leidke rida nimega " tekst».
  6. Muuda teksti" Uus nupp" kuni " Järgmine leht».

5. etapp: looge teine ​​​​tegevus

  1. Paremklõpsake projekti failisüsteemi puu ülaosas kaustal " rakendus».
  2. Valige Uus > Tegevus > Tühi tegevus.
  3. Sisestage ilmuva akna ülemisele reale " Teine tegevus».
  4. Klõpsake " Lõpeta».
  5. minge lehele " tegevust_teine.xml" ja veenduge, et allosas oleks valitud vahekaart " Disain».
  6. Liigutage tekst telefoni vasakust ülanurgast ekraani keskele, nagu tegime eelmistes sammudes.
  7. Veenduge, et tekstiplokk on endiselt valitud (sinine raam) ja otsige objekti omaduste alumises paremas nurgas rida " id"ja sisenege sinna" tekst2 ».
  8. Topeltklõpsake vasakus ülanurgas (projektipuus). stringid.xml».
  9. Rida all Tere maailm! Tere tulemast minu rakendusse!

    lisage järgmine rida

    Tere tulemast teisele lehele!

  10. Tagasi " aktiivsus_sekund.xml».
  11. Valige tekstiplokk uuesti.
  12. Leidke objekti omaduste alumises paremas nurgas rida " tekst"ja sisenege sinna «@ string/sekund_leht».
  13. Veenduge, et tekstikastis oleks nüüd kirjas " Tere tulemastjuurdeateisekslehel! ” ja ajaveebi asub ekraani keskel.

6. etapp: kirjutage nupu toiming


7. etapp: rakenduse testimine

  1. Klõpsake Android Studio akna ülaosas asuval tööriistaribal rohelisel esitussümbolil.
  2. Aknas" ValiSeade» vali üksus « Käivitageemulaator» ja valige seade.
  3. Klõpsake nuppu OK».
  4. Kui emulaator käivitub (see võib võtta kaua aega), avaneb rakendus virtuaalses seadmes automaatselt.
  5. Veenduge, et kogu tekst oleks õigesti kuvatud ja nupu klõpsamine viib teid järgmisele lehele.

Tähelepanu: Kui saate sõnumi " HAX kerneli moodul pole installitud!", siis on kaks võimalust. Fakt on see, et seda virtualiseerimist toetavad ainult kaasaegsed Inteli protsessorid ja peate selle ainult BIOS-is lubama. Kui teil on protsessor, mis seda funktsiooni ei toeta, peate rakendust testima päris telefonis või kasutama sisseehitatud emulaatori asemel kolmanda osapoole emulaatorit.

Kuidas hankida Android Studios .apk-fail

Minu arvates on see küsimus selles artiklis hästi käsitletud, nii et ma ei korda seda. Minu arvates on see esimeses õppetunnis kõige lihtsam Manuaalne meetod.

Kui olete faili kätte saanud, saate selle oma telefoni kopeerida ja rakenduse installida.

8. etapp: tulemus

Palju õnne! Olete just lõpetanud oma esimese Androidi rakenduse koos mõne põhifunktsiooniga kirjutamise. Valmis rakendusel peaks olema kasutaja tervitusleht ja nupp, mis viib kasutaja teisele lehele.

Olete põgusalt tutvunud Androidi rakenduste arendamisega ja võib-olla äratanud endas soovi õppida kõike, mis on vajalik, et selles suunas edasi areneda.

Uue keele ja arenduskeskkonna õppimine on miinimum, mida sinult nõutakse, kui soovid kirjutada oma esimest mobiilirakendust. Põhiülesannete loendi koostamine Androidi või iOS-i jaoks võtab vähemalt paar nädalat aega, ilma näidet raamatust kopeerimata. Kuid te ei saa Objective-C-d ega Java-d omandada ja nutitelefonide jaoks rakendusi kiiresti arendada, kui kasutate selliseid tehnoloogiaid nagu PhoneGap.

Kui olete hoolikalt uurinud uuendusi, mis meid Windows 8-s ees ootavad, olete ehk märganud, et selle all on võimalik HTML5-s rakendusi arendada. Idee pole tegelikult uus – tehnoloogiad, mis rakendavad sama lähenemist mobiiliplatvormidele, arenevad hüppeliselt. Üks neist raamistikest, mis võimaldab arendada rakendusi nutitelefonidele, kasutades hunnikut tuttavat HTML-i, JavaScripti ja CSS-i!, on PhoneGap. Tema abiga kirjutatud rakendus sobib kõikidele populaarsetele platvormidele: iOS, Android, Windows Phone, Blackberry, WebOS, Symbian ja Bada. Te ei pea õppima iga platvormi programmeerimise spetsiifikat (näiteks iOS-i puhul Objective-C) ega tegelema erinevate API-de ja arenduskeskkondadega. Platvormiülese mobiilirakenduse loomiseks on vaja vaid teadmisi HTML5-st ja spetsiaalsest PhoneGap API-st. Sel juhul ei ole väljundiks loll HTML-leht, mis on rakenduse liideses "raamitud", ei! Raamistiku API võimaldab kasutada peaaegu kõiki telefoni võimalusi, mida kasutatakse natiivsete tööriistade abil arendamisel: juurdepääs kiirendusmõõturile, kompassile, kaamerale (videosalvestus ja pildistamine), kontaktide loendile, failisüsteemile, teavitussüsteemile (standardsed teated telefonis) , salvestusruum jne. Lõpuks pääseb selline rakendus sujuvalt juurde mis tahes domeeniülesele aadressile. Saate oma juhtelemente uuesti luua, kasutades selliseid raamistikke nagu jQuery Mobile või Sencha ja lõplik programm näeb välja selline, nagu see oleks mobiiltelefonis kirjutatud emakeeles (või peaaegu nii). Kõige parem on ülaltoodut praktikas illustreerida ehk avaldus kirjutada, seega soovitan kohe harjutama hakata. Jälgi aega – kõige tegemiseks kulub vaevalt üle poole tunni.

Mida me loome

Võtame sihtplatvormiks iOS-i - jah, jah, raha on AppStore'is ja praegu on kõige parem oma arendusi seal raha teenida :). Aga ütlen kohe selgeks: sama asja, ilma muudatusteta, saab teha näiteks Androidi jaoks. Mõtlesin kaua, millist näidet kaaluda, sest ma ei tahtnud kirjutada muud tööriista, et ülesannete loendit jälgida. Seetõttu otsustasin luua rakenduse nimega "Geographic Reminder", mis on navigeerimisprogramm, mille eesmärki saab kirjeldada ühe lausega: "Andke mulle teada, kui ma jälle siin olen." AppStore'il on palju utiliite, mis võimaldavad teil "meelde jätta" koha, kuhu kasutaja auto parkis. See on peaaegu sama asi, ainult veidi lihtsam. Saate osutada linnakaardil olevale punktile, määrata sellele kindla raadiuse ja programmeerida sõnumi. Järgmine kord, kui satud määratud raadiusega ringi sisse, annab rakendus sulle sellest teada ja punkt kustutatakse. Edasi läheme selle plaani järgi: esmalt loome lihtsa veebirakenduse, testime seda brauseris ning seejärel kanname PhoneGapi abil iOS-i platvormile. Väga oluline on prototüüpida ja testida suuremat osa koodist arvuti brauseris, kuna telefonis on rakenduse silumine palju keerulisem. Kasutame jQuery JS raamistikku, mille raamistikuks on jQuery Mobile (jquerymobile.com) ja kaardimootorina Google Maps v3. Taotlus koosneb kahest lehest: kaart ja punktide loend.

  • Kaardile asetatakse teie praeguse asukoha marker. Kaardil klõpsates luuakse punkt, millele on lisatud teade (nt “auto läheduses”). Punkti saab sellel klõpsates kustutada. Inimese markeri liigutamiseks kaardil kasutatakse geonavigatsiooni API-d.
  • Punktide loendiga lehel peaks olema täiendav nupp “Kustuta kõik punktid” ja iga punkti kõrval nupp “Kustuta see punkt”. Kui klõpsate loendis elemendil, kuvatakse vastav punkt kaardil. Salvestame kasutaja seadistused ja punktide loendi localStorage'i.

UI raamistikud

jQuery Mobile pole loomulikult ainus mobiililiidese loomise raamistik. PhoneGapi veebisaidil on tohutu hulk teeke ja raamistikke, mida saate kasutada (phonegap.com/tools): Sencha Touch, Impact, Dojo Mobile, Zepto.js jne.

Rakendusraamistik

Selgitan kohe, miks me jQuery Mobile'i kasutame. See JS-i teek pakub meile mitmesuguste platvormide jaoks valmis mobiilirakenduse liidese elemente (nii lähedased kui võimalik). Peame väljundiks olema mobiilirakendus, mitte brauseri leht! Nii et laadige alla JQuery Mobile'i uusim versioon (jquerymobile.com/download) ja teisaldage esimesed vajalikud rakendusfailid töökausta:

  • images/ (teisalda siia kõik pildid samanimelisest jq-mobile'i arhiivikaustast);
  • index.css;
  • index.html;
  • index.js;
  • jquery.js;
  • jquery.mobile.min.css;
  • jquery.mobile.min.js.

Ressursid on vaja muuta valdavalt lokaalseks, et kasutaja ei raiskaks edaspidi mobiilset internetti. Nüüd loome lehe raamistiku failis index.html. Allolev kood kirjeldab lehe ülaosa, millel on kaart, kiri "Geograafiline meeldetuletus" ja nupp "Punktid".

Kaardi leht

Geomälestus

Punktid

Lehe atribuut data-dom-cache="true" on vajalik tagamaks, et seda ei laadita mälust maha. Nupp Punktid kasutab data-transition="pop", nii et punktide loendi leht avaneb hüpikefektiga. Lisateavet jQuery Mobile'i lehtede ülesehituse kohta saate lugeda heast juhendist (bit.ly/vtXX3M). Analoogia põhjal loome punktide loendiga lehe:

Punktide loendi leht

Kustuta kõik

Punktid

Kaart

Nupu “Map” jaoks kirjutame ka data-transition="pop", kuid lisame atribuudi data-direction="reverse", nii et leht “Map” avaneb efektiga “Fade”. Punktimalli kirjutame samad atribuudid. See on kõik, meie raam on valmis.

Rakenduse loomine

Nüüd peame kuvama kaardi, mille jaoks kasutame standardset Google Mapsi API-d, mida kasutavad miljonid erinevad saidid:

Var latLng = uus gm.LatLng(this.options.lat, this.options.lng); this.map = new gm.Map(element, ( zoom: this.options.zoom, // Valige esialgne suumikeskus: latLng, // Määrake esialgne keskpunkti mapTypeId: gm.MapTypeId.ROADMAP, // Tavaline kaart disableDoubleClickZoom: true, // Keela automaatne suum koputamise/topeltklõpsuga disableDefaultUI: true // Keela kõik liidese elemendid ));

Siin on Gm muutuja, mis viitab Google Mapsi objektile. Initsialiseerimise parameetrid kommenteerisin koodis hästi. Järgmine samm on joonistada kaardile meesmarker:

See.isik = uus gm.Marker(( kaart: see.kaart, ikoon: uus gm.MarkerImage(PERSON_SPRITE_URL, new gm.Size(48, 48)) ));

Isiku spraiti aadressi Google'i panoraampiltidest kasutatakse kui PERSON_SPRITE_URL. Selle staatiline aadress on maps.gstatic.com/mapfiles/cb/mod_cb_scout/cb_scout_sprite_api_003.png. Kasutaja lisab punkte kaardil klõpsates, nii et nende joonistamiseks kuulame klikisündmust:

Gm.event.addListener(this.map, "click", funktsioon (event) ( self.requestMessage(function (err, message)) ( // Meetod, mis tagastab kasutaja sisestatud teksti, kui (err) return; // Meetod lisab aktiivsesse loendisse punkti ja // joonistab selle kaardile ise.addPoint(event.latLng, self.options.radius, message). // Joonista punktide loend uuesti ;

Annan suurema osa koodist - otsige ülejäänu kettalt. Järgmiseks peame õpetama rakenduse kasutajaikooni kaardil liigutama. Prototüübis kasutame geolokatsiooni API-d (seda, mida kasutatakse ka lauaarvuti brauserites):

If (navigator.geolocation) ( // Kontrollige, kas brauser toetab geograafilise asukoha määramise funktsiooni gpsSuccess(pos) ( var lat, lng; if (pos.coords) ( lat = pos.coords.latitude; lng = pos.coords.longitude; ) else ( lat = pos.laiuskraad; lng = pos.longitude; ) self.movePerson(new gm.LatLng(lat, lng) // Liigutage kasutaja ikooni ) // Iga kolme sekundi järel küsime kasutaja praegust // asukohta kasutaja window.setInterval (funktsioon () ( // Küsib praegust asukohta navigator.geolocation.getCurrentPosition(gpsSuccess, $.noop, ( enableHighAccuracy: true, maximumAge: 300000 )); , 3000);

Meetod movePerson kasutab lihtsat getPointsInBounds() protseduuri, et kontrollida, kas kasutaja on mõnes aktiivses punktis. Viimane küsimus – kuhu punktide nimekirja salvestada? HTML5 tutvustas võimalust kasutada localStorage'i, nii et ärgem jätkem seda tähelepanuta (jätan need koodiosad ise välja mõtlema, mida olen hästi kommenteerinud). Niisiis, brauseris töötav rakendus on valmis!

Veebirakenduse käivitamine

Nagu ma varem ütlesin, tuleb silumine enamasti teha arvutis. Sobivaim brauser veebirakenduste testimiseks arvutis on Safari või Chrome. Pärast nendes brauserites silumist võite olla kindel, et teie rakendus ei tööta mobiiltelefoni brauseris. Mõlemad brauserid ühilduvad enamiku mobiilsete veebibrauseritega, kuna need on üles ehitatud WebKiti mootorile nagu nemadki. Pärast kõigi vigade kõrvaldamist võite jätkata mobiilse veebirakenduse käivitamist otse oma telefonis. Selleks seadista oma veebiserver (kasvõi Denwer või XAMPP) nii, et see teenindaks loodud lehte ja ava see oma mobiiltelefoni brauseris. Rakendus peaks välja nägema umbes nagu joonisel näidatud. Siinkohal on oluline mõista, et tulevane PhoneGapi abil mobiiliplatvormile koostatud mobiilirakendus näeb peaaegu identne välja, ainult et brauseri navigeerimisriba ekraanile ei kuvata. Kui kõik on korras, saate lehelt hakata looma täisväärtuslikku iOS-i rakendust. Pange tähele, et me pole siiani isegi puudutanud PhoneGapi ja IDE-d mobiilside arendamiseks.

Ettevalmistus

iOS-ile rakenduse koostamiseks on vaja arvutit, millel on operatsioonisüsteem Mac OS 10.6+ (või virtuaalmasinat Mac OS 10.6 puhul), samuti Xcode arenduskeskkonda, kuhu on installitud iOS SDK. Kui teil pole SDK-d installitud, peate Apple'i veebisaidilt alla laadima kettapildi, mis sisaldab Xcode'i ja iOS-i SDK-d (developer.apple.com/devcenter/ios/index.action). Pidage meeles, et pilt kaalub umbes 4 GB. Lisaks peate registreeruma Apple'i veebisaidil arendajana (kui te ei kavatse oma rakendust AppStore'is avaldada, saate sellest nõudest mööda minna). Seda komplekti kasutades saate arendada rakendusi iOS-i emakeeles Objective-C. Kuid otsustasime võtta lahenduse ja kasutada PhoneGapi, seega peame siiski installima PhoneGapi iOS-i paketi. Laadige arhiiv lihtsalt alla väljaspool saiti (https://github.com/callback/phonegap/zipball/1.2.0), pakkige see lahti ja käivitage iOS-i kaustas installiprogramm. Kui installimine on lõppenud, peaks Xcode'i projektide menüüsse ilmuma PhoneGapi ikoon. Pärast käivitamist peate täitma mitu vormi, kuid varsti näete oma esimese rakendusega IDE tööruumi. Kontrollimaks, kas kõik töötab, klõpsake nuppu Käivita – iPhone/iPadi emulaator koos PhoneGap mallirakendusega peaks käivituma. Kokkupandud programm genereerib veateate, mis ütleb, et index.html-i ei leitud – see on normaalne. Avage kaust, kuhu salvestasite peamised projektifailid, ja leidke sellest www alamkaust. Lohistage see redaktorisse, klõpsake vasakpoolses loendis rakenduse ikooni ja valige ilmuvas aknas "Loo lisatud kaustade jaoks kaustaviited". Kui käivitate programmi uuesti, peaks kõik toimima. Nüüd saame kõik meie prototüübi failid kopeerida www kausta. On aeg kohandada meie prototüüpi, et see töötaks nutitelefonis, kasutades PhoneGap-töötlust.

Prototüübi ülekanne

Kõigepealt peate oma registrifaili lisama phonegap-1.2.0.js. PhoneGap võimaldab teil piirata külastamiseks saadaolevate hostide loendit. Soovitan selline “valge nimekiri” kohe üles panna. Avage projektimenüüs Supporting Files/PhoneGap.plist, leidke üksus ExternalHosts ja lisage sellele järgmised hostid, millele meie rakendus juurde pääseb (need on Google Mapsi serverid): *.gstatic.com, *.googleapis.com, maps .google.com. Kui te neid ei määra, kuvab programm konsoolis hoiatuse ja kaarti ei kuvata. Rakenduse veebiversiooni lähtestamiseks kasutasime DOMReady sündmust või jQuery abimeest: $(document).ready(). PhoneGap genereerib seadme valmisoleku sündmuse, mis näitab, et mobiilseade on valmis. Soovitan kasutada seda:

Document.addEventListener("deviceready", funktsioon () ( new Notificator($("#map-canvas")); // Kui kasutajal pole Internetti, // teavitage teda sellest if (navigator.network.connection. type = == Connection.NONE) ( navigator.notification.alert("Interneti-ühendus puudub", $.noop, TITLE); ) ), false);
Takistame kerimise: document.addEventListener("touchmove", funktsioon (event) ( event.preventDefault(); ), false);

Seejärel asendame kõik hoiatused ja kinnitame kõned kohalike kõnedega, mida PhoneGap meile pakub:

Navigator.notification.confirm("Eemalda punkt?", funktsioon (button_id) ( if (button_id === 1) ( // nuppu OK vajutati ise.removePoint(point); ) ), TITLE);

Viimane asi, mida peame muutma, on koodiplokk, mis liigutab kasutajaikooni kaardil. Ka meie praegune kood töötab, kuid see töötab vähem optimaalselt (nihutab ikooni isegi siis, kui koordinaadid pole muutunud) ega paku nii rikkalikke andmeid kui PhoneGapi vaste:

Navigator.geolocation.watchPosition(function (position) ( self.movePerson(new gm.LatLng(position.coords.latitude, position.coords.longitude)); ), funktsioon (viga) ( navigator.notification.alert("kood: " + error.code + "\nmessage: " + error.message, $.noop, TITLE); ), (sagedus: 3000 ));

See kood on elegantsem – see genereerib sündmuse alles siis, kui koordinaadid on muutunud. Klõpsake nuppu Käivita ja veenduge, et äsja loodud rakendus töötab iOS-i seadme simulaatoris ideaalselt! On aeg alustada käivitamist päris seadmes.

Käivitage seadmes

Ühendage oma iPhone, iPod või iPad arvutiga, kus töötab Xcode. Programm tuvastab uue seadme ja küsib luba selle arendamiseks kasutada. Temast pole mõtet keelduda :). Kordan veel kord: iOS-is kirjaliku rakenduse käitamiseks peate olema iOS-i volitatud arendaja (teisisõnu, olema iOS-i arendajaprogrammi tellija). See häirib teid ainult siis, kui arendate rakendusi Apple'i toodetele koos teiste platvormidega (Android, Windows Phone) on kõik palju lihtsam. Ülikoolis õppijatel on tänu mõnele soodustusele võimalus programmile tasuta pääseda. Kõik teised peavad programmis osalemiseks maksma 99 dollarit aastas. Apple väljastab sertifikaadi, millega saate oma koodi allkirjastada. Allkirjastatud rakendus on lubatud iOS-is käivitada ja App Store'is levitada. Kui te pole üliõpilane ja tunnete endiselt kahju 99 dollarist süütute eksperimentide eest, siis on veel üks võimalus - süsteemi petta. Koodi kontrollimiseks saate luua ise allkirjastatud sertifikaadi ja käivitada mobiiliprogrammi jailpurkitud iOS-i seadmes (ma ei hakka sellel pikemalt peatuma, sest selles artiklis on kõike võimalikult üksikasjalikult kirjeldatud: bit.ly/tD6xAf ). Nii või teisiti näete peagi oma mobiiltelefoni ekraanil töötavat rakendust. Peatage stopper. Kaua sul aega läks?

Muud platvormid

Lisaks PhoneGapile on ka teisi platvorme, mis võimaldavad teil luua mobiilirakendusi ilma emakeeli kasutamata. Loetleme lahedamad mängijad.

Appcelerator Titanium (www.appcelerator.com).

Titanium saab luua rakendusi peamiselt Androidi ja iPhone'i jaoks, kuid väidab, et toetab ka BlackBerryt. Lisaks raamistikule endale pakub projekt komplekti natiivseid vidinaid ja IDE-d. Saate arendada rakendusi Titaniumil tasuta, kuid peate maksma toe ja lisamoodulite eest (alates 49 dollarist kuus). Mõne kolmanda osapoole mooduli hind ulatub 120 dollarini aastas. Appcelerator Titanium arendajad väidavad, et nende raamistiku põhjal on kirjutatud üle 25 tuhande rakenduse. Projekti lähtekoodi levitatakse Apache 2 litsentsi all.

Corona SDK (www.anscamobile.com/corona).

See tehnoloogia toetab peamisi platvorme - iOS ja Android. Raamistik on suunatud peamiselt mängude arendamisele. Loomulikult väidavad arendajad OpenGL-i kvaliteetset optimeerimist. Platvormil pole tasuta versiooni ja hind on üsna kõrge: 199 dollarit aastas ühe platvormi litsentsi eest ja 349 dollarit aastas iOS-i ja Androidi jaoks. Corona pakub oma IDE ja seadme emulaatoreid. Corona rakendused on kirjutatud JavaScriptiga sarnases keeles.

Järeldus

Lõime lihtsa mobiilse veebirakenduse ja portisime selle mõne lihtsa sammuga PhoneGapi abil iOS-i platvormile. Me ei kirjutanud ühtegi rida Objective-C koodi, kuid saime korraliku kvaliteediga programmi, kulutades minimaalselt aega teisaldamisele ja PhoneGap API õppimisele. Kui eelistate mõnda muud platvormi, näiteks Android või Windows Mobile 7, siis saate sama lihtsalt, ilma nende platvormide jaoks mingeid muudatusi tegemata, ehitada meie rakenduse (igaühe jaoks on olemas hea sissejuhatav juhend ja videoõpetus: phonegap.com/ algus) . Platvormi elujõulisuse kontrollimiseks võite vaadata PhoneGapis valmisrakendusi, mille tehnoloogiaarendajad on kogunud spetsiaalsesse galeriisse (phonegap.com/apps). Tegelikult on PhoneGap ideaalne platvorm tulevase rakenduse vähemalt prototüübi loomiseks. Selle peamised eelised on kiirus ja minimaalsed kulud, mida kasutavad aktiivselt igas mõttes piiratud ressurssidega startupid. Kui rakendus ebaõnnestub ja te ei ole mingil põhjusel enam HTML+JS-i sisestusega rahul, saate alati rakenduse portida emakeelde. Ma ei saa jätta ütlemata, et PhoneGapi töötas algselt välja Nitobi avatud lähtekoodiga projektina (hoidla asub GitHubis: github.com/phonegap). Lähtekood jääb avatuks, kuigi Nitobi omandas Adobe eelmise aasta oktoobris. Kas ma pean ütlema, millised väljavaated on projektil sellise hiiglase toel?

- see pole nii raske, kui võib tunduda. Siiski ei saa te ikkagi hakkama ilma minimaalsete teadmisteta programmeerimises ja koodiarenduses.

Internetis on palju teenuseid, mis pakuvad programmide kirjutamiseks valmis malle, kuid tõeliselt tulusa rakenduse saate luua ainult koodi abil.

Enne kui hakkate oma esimest rakendust ise arendama, peab kasutaja alla laadima ja installima järgmised tarkvaratooted.

Java arenduskomplekti installimine

Kui installimine on lõppenud, peate avama rakenduse ja kontrollima kõiki desinstallitud pakette ja ressursse.

Järgmise sammuna peate integreeritud arenduskeskkonda lisama Androidi SDK pistikprogrammi. Kasutades näitena Eclipse'i keskkonda, saate plugina lisada järgmiselt:

  1. Klõpsake vahekaardil „Abi” nuppu „Lisa uus tarkvara”.
  1. Klõpsake nuppu "Lisa" ja sisestage pistikprogrammi nimi ja aadress.

  1. Klõpsake "OK" ja märkige ruut "Arendaja tööriistad" kõrval.
  2. Klõpsake nuppu "Järgmine" ja alustage pistikprogrammi installimist.

Pärast installimist tutvustab kasutaja oma integreeritud keskkonda uusi ikoone.

Emulaatorite seadistamine testimiseks

Emulaator välistab programmeerijate vajaduse omada uute rakenduste testimiseks igat tüüpi Android-seadmeid.

Selline näeb välja Androidi SDK

Uue seadme lisamiseks peate klõpsama nuppu "Uus" ja looma virtuaalse seadme, sisestades põhiandmed ja selle omadused.

  • nimi;

Vajalik on sisestada nimi, mis näitaks võimalikult informatiivselt, mis seade see on.

  • Sihtmärk;

Siin peate valima Androidi versiooni, milles testida.

Nõuanne! Testimine viiakse sageli läbi operatsioonisüsteemi uusimates versioonides, kuid kui programmeerija otsustab seda teha varasemate versioonide puhul, tuleb installida SDK haldur.

  • SD-kaart;

Peate määrama seadmes kasutatava kettaruumi mahu.

  • Nahk;

Võimaldab luua ja muuta virtuaalse seadme välimust.

  • Riistvara;

Lisab seadmed, mida testimise ajal kasutatakse.

Programmeerimine on üks neid valdkondi, kus igaüks saab tunda end loojana. Tavaliselt viitab see rakenduste arendamisele personaalarvutitele, tootmisseadmete üksustele või lihtsalt elektroonilistele omatehtud toodetele. Puuteekraaniga mobiilseadmete levikuga muutub aga üha populaarsemaks programmeerimine Androidi, iOS-i või mõne muu samalaadse süsteemi kesta jaoks. Pean tunnistama, et see on paljutõotav amet. Seetõttu kaalume artikli raames Androidi käivitamist nullist. Millised funktsioonid on olemas? Mis keelt kasutatakse?

Programmide loomine

Enne programmide ise kirjutamist peate uurima kõiki selleks vajalikke komponente:

  1. Keel.
  2. Valige oma arenduskeskkond. Samuti peatume üksikasjalikult keelel, samuti tarkvaratoodetel, kus rakendusi luuakse. Aga kõigepealt räägime veidi arenduskeskkondadest. Tavaliselt võib need jagada kolmeks komponendiks:
  • graafiline;
  • tavaline;
  • võrgus.

Programmide loomisega seoses tuleb märkida, et praegu on raske välja tuua ideed, mida pole varem välja töötatud. Seetõttu tuleb probleemi ilmnemisel või lihtsalt teadmiste puudumisel tekkinud arusaamatus õigesti sõnastada ja pöörduda kogenumate programmeerijate poole. Nad saavad aidata teil konstruktiivsete nõuannetega programme luua.

Mis keeles on programmid kirjutatud?

Nendel eesmärkidel kasutatakse Java-d. Tuleb märkida, et see on üsna keeruline programmeerimiskeel. Kuid oma rakenduste loomiseks ei pea te seda täielikult teadma. Oma küsimustele vastuste saamiseks piisab põhiteadmistest ja -oskustest viiteinfoga töötamisel. Lisaks on olemas teatud eelseadistused, mille abil saate rakendust ilma oluliste probleemideta luua. Siis muutub Androidi jaoks programmeerimine naudinguks.

Regulaarse arenduskeskkonna valimine

Eclipse'i ja Androidi SDK-d peetakse suurimateks mängijateks. Mõlemad on tasuta. Kokkuvõttes tuleb märkida, et need arenduskeskkonnad on tõsised konkurendid ning igal neist on mitmeid tugevaid ja nõrku külgi. Igaüks neist on õppimist väärt. Eraldi peatume lihtsalt Androidi SDK ühel aspektil – emulaatoril. See on programm, mis teeskleb Androidis töötavat telefoni või tahvelarvutit. Emulaator töötab tavalises arvutis sujuvalt ja näeb töölaual välja nagu tavaline mobiilseade. On ainult üks eripära - seda juhitakse hiire ja klaviatuuriga, mitte sõrmega. Emulaatoris saate kontrollida rakenduse funktsionaalsust erinevate ekraanilaiendite, aga ka Androidi mobiilioperatsioonisüsteemi erinevate versioonide puhul. Seega, ükskõik kui kummaliselt see teile ka ei kõlaks, pole Androidile suunatud rakenduste arendamisel telefoni olemasolu üldse vajalik.

Mida on teil rakenduse arendamiseks vaja?

Graafilised arenduskeskkonnad

See valik sobib neile, kes programmeerimisest üldiselt aimugi pole, kuid soovivad oma rakendust saada siin ja praegu. Esmalt tuleks end kurssi viia graafiliste arenduskeskkondade kirjelduse ja võimalustega. Seega saavad mõned paigutada ainult kõige lihtsamad elemendid ja kinnitada neile minimaalse funktsionaalsuse. Parem on selliseid ressursse mitte kasutada, kuna nende abiga on raske mõista töö loogikat ja luua väljatöötatud lõpptoode. Soovitav on teha valik järgmiste parameetrite järgi:

  1. Intuitiivse liidese olemasolu.
  2. Kasutades selget tööloogikat.
  3. Võimalus luua elemente graafilises ja koodirežiimis.
  4. Dokumentatsiooni olemasolu arenduskeskkonnaga töötamiseks ja tugifoorum.

Veebipõhine arenduskeskkond

Need võivad pakkuda üsna laia valikut funktsioone lihtsas pöörduspunktis - Internetis. "Online arenduskeskkond" ütleb ilmselt kõik. Kuigi tuleb selgitada, et Androidi all pole see siiski lihtne ülesanne. Seega on kõige keerulisem rakendada laskureid ja sarnase keerukusega rakendusi. Kuid tekstivormingu ja andmeedastusega programmid on lihtsad.

Järeldus

Loodame, et teie programmide loomise ettevalmistamise esimeste sammude kohta pole enam küsimusi. Kui otsustate programmeerimisega tõsiselt tegeleda, võite kasutada spetsiaalset kirjandust. Näiteks Hardy Briani raamat “Programmeerimine Androidile”. Muidugi pole see ainuke hea töö, aga kuskilt tuleb alustada. Seda juhendit lugedes saate alustada eduteed.