GPS Tracker

Programinė įranga Screenshot:
GPS Tracker
Programinė detalės:
Versija: 0.3.1
Įkėlimo datą: 2 Jun 15
Kūrėjas: Nick Fox
Licencija: Nemokamai
Populiarumas: 5

Rating: 3.5/5 (Total Votes: 2)

GPS Tracker projektas leidžia tą sekti GPS įjungtas mobilųjį telefoną naudojant "Google" žemėlapius. Šiam projektui aš Motorola i355 mobilųjį telefoną Sprint / Nextel tinklą.
Jūs turite duomenų planą, kad jūs galite padaryti atnaujinimus į jūsų svetainę iš telefoną. Prašome perskaityti readme.txt failą diegimo instrukcijas atsisiųsti. Tikiuosi jums patiks projektą. Jei turite kokių nors klausimų, nedvejodami paklausti juos forume.
Yra du projektai nėra. Pirmasis projektas yra pastatytas su .NET ir Microsoft SQL Server. Antrasis projektas yra pastatytas su PHP ir MySQL. Jei turite kokių nors pasiūlymų, nedvejodami praneškite man. Abu projektai naudoti java (J2ME) telefonu.
Kaip Tai Veikia:
Nė vienas iš šio projekto kodas yra labai sunku, tačiau ji aprėpia pakopų ir kalbų, kurios gali būti susipažinę su kai kuriais skaičių. 1 paveiksle matyti, duomenų srautas iš telefono į "Google" žemėlapyje.
Telefonas
Pradėkime su telefonu kodą. Ši programa yra parašyta Java naudojant Java 2 Micro Edition (J2ME). "Java" yra labai panaši į C #. Kaip jums atrodo per kodą, vienintelis dalykas, kuris gali klaidinti C # programuotojas yra vektorius. Java vektorius yra gana daug, C # ArrayList, dinaminis masyvas. Yra 2 klasės app, LBSMidlet7 ir Qworker. MIDlet yra programa, kuri veikia mobiliuosius telefonus. Pažvelkite į klasės apibrėžimas išvaizdą. Ji išplečia MIDlet klasės ir įgyvendina LocationListener sąsaja. Tai reiškia, kad mes turime dėti visas metodo apibrėžimus toje sąsajoje į mūsų klasę. Mes gausite, kad šiek tiek, dabar pažvelkime konstruktorius.
Mes 2 dalykus konstruktorius. Mes sukurti QWorker objektą ir perduoti jį "tai" ir svetainė, kuri mums bus įkelti į. GetAppProperty metodas tampa atributus iš JAD failą. Atidarykite JAD failą savo mėgstamiausiu teksto redaktoriumi ir ten pamatysite tinklalapį, kuris jums bus siuntimo GPS duomenis. Atkreipkite dėmesį, kaip mes artimųjų ", tai" į GWorker objektą? Štai LBSMidlet7 objektas. Take a quick pažvelgti į QWorker klasėje, ji išplečia Tema klasė. Štai kodėl mes vadiname worker.start () in LBSMidlet7 konstruktorius. Mes norime pradėti mūsų darbuotojas pokalbio.
Paleidus siūlai, ką jūs darote, yra sukurti objektą ir tada iš eilės objekto run () metodą. Pažvelkite į run metodą išvaizdą. Jis turi begalinį ciklą ir ciklo pirmas dalykas, ji yra skambinti queue.wait (). Pažvelkite eilėje apibrėžimą. Eilė abstraktus duomenų tipas (ADT), tai tiesiog kaip banke eilėje, įveskite eilėje prie linijos gale ir palikti eilę, kai jūs gaunate į priekinės linijos. Pažvelkite į eilę apibrėžimą, tai mūsų vektorius (dinaminis masyvas). Kai skambinate laukti () dėl per klasės, kuri tęsiasi sriegio klasės objektas, tai kelia, kad objektas miegoti. Pagalvokite apie tai mažai. Kai mes paspausti tą liniją, mūsų QWorker objektas yra dabar laukia ... Kas jis laukia? Mes gausite, kad per minutę. Prieš mes darome, kad pažvelgti į sinchroniškai raktažodį išvaizdą. Atkreipkite dėmesį, kad tai vyniojimo eilę. Ką tai daro tai kelia užraktas eilę ir sako visus kitus procesus neliesti eilę, kol kad mažai blokas kodas yra padaryti su juo.
Gerai, kad dabar mes pradėjo darbuotojas siūlai ir įdėti jį miegoti. Leiskite dabar grįžti į LBSMidlet7 klasės ir pažvelgti į startApp () metodas išvaizdą. Tuo atveju, kai MIDlet gyvavimo ciklą, konstruktorius vadinamas kartą ir tada startApp () metodas vadinamas toliau. Iš tiesų jis gali būti vadinamas keletą kartų, kaip pavyzdžiui, kai jūs uždarote flip telefoną ir vėl jį atidarykite. Kas atsitinka, kad programa yra sustabdomas ir kada apversti telefoną atvira vėl startApp () vadinamas dar kartą. Be startApp (), kurią mes gauname mūsų ekraną ir tada mes sukurti LocationProvider jei vienas dar nebuvo sukurta, ir mes sukurti kitą temą ... Kodėl mes sukurti visus šiuos temas? Geras klausimas. Kai MIDlet (APP) yra sustabdytas, backgroud temas, kurios yra sukurtos nuolat veikia. Tai leidžia mums gauti mūsų GPS duomenis ir nusiųsti ją į mūsų serverį, o mes kitą svarbią medžiagą, pavyzdžiui, skambinti.
LocationProvider yra tai, ką gauna mūsų GPS duomenis. Pirmiausia mes sukurti kriterijus, mes naudojant numatytąjį, bet galite nustatyti stuff like tikslumu, reakcijos laikas ir tt Kitas mes sukurti mūsų vieta klausytojui. Tai gana daug, ką jis skamba kaip. Čia galite nustatyti, kad už, kaip dažnai norite gauti GPS duomenis intervalą. Tai šiuo metu nustatyta, kad 60, kuris yra sekundžių. Kai duomenys ateina, locationUpdated () metodas vadinamas. Tai yra dar vienas iš reikalaujamų metodų LocationListener sąsają. Čia mes sukurti dar vieną siūlą ir skambinti getLocation (). GetLocation () metodas gauna GPS koordinates, sukuria eilutės užklausos kuris į interneto serverį mes atsiųsime šiek tiek vėliau, o tada prašo worker.addToQueue į QWorker klasėje.
Grįžkime perkelti į QWorker klasės ir pamatyti, kas vyksta tokiu būdu. Jis pridėti eilutės užklausos į eilę ir tada prašo queue.notify (). Atspėkite, kas queue.notify () daro? Jis atsibunda mūsų miega QWorker siūlai ir pasakoja, kad gauti darbą! Atkreipkite dėmesį, kad mūsų skambučiai į eilę ir vėl suvynioti į sinchroniškai blokas. Prašome praktikuoti saugų sriegimo ... Kai pranešti () vadinamas ant sriegio, ką jis daro, yra grįžti į run () metodą ir vykdyti kitą eilutę kodo iš karto po, kur mes papasakojo eilę laukti (). Taigi dabar mes tiesiog pasiruošusi siųsti GPS duomenis į interneto serverį. Mes turime daug įdomių eilučių kodo ten pora. Pirmiausia mes vadiname peekInQueue (), kuri pasireiškia atpažįstant užklausos iš eilės, bet palieka jį ten dabar. Tada ji siunčia getURL metodą, kuris bando siųsti eilutės užklausos į mūsų serverio eilutės užklausos. Jei tai sėkmingas, mes galime pašalinti iš eilės eilutės užklausos. Jei ne, mes palikti eilutės užklausos eilėje ir bandykite siųsti jį į serverį dar kartą vėliau.
Kodėl pasaulyje mes turime šį sudėtingą eilę čia? Džiaugiuosi, jūs prašėte. Gali būti atvejų, kai gaunate GPS duomenis, bet nėra iš tikrųjų toje srityje, kuri turi mobilųjį telefoną ryšį. Jei mes neturime mobiliojo telefono ryšį, mes negalime siųsti savo GPS duomenis mūsų serverio. Taigi, mes klijuoti mūsų eilutės užklausos mūsų eilėje ir laukti, kol mes grįžti į su mobiliojo telefono connectability srityje. Ar girdi mane dabar?
Na, mes praleido gana teisingas tiek laiko paaiškinti telefono kodą. Tai šiek tiek sudėtingiau, bet svarbu žinoti, kas vyksta, jei norite priimti kodą ir padaryti pakeitimus į jį, kad atitiktų jūsų poreikius. Štai geras straipsnis apie Saulės svetainėje, kad jums sužinoti apie daugiau pajėgumų vietos nustatymu grindžiamų paslaugų API. Teisė apie dabar mūsų eilutės užklausos turi būti atvyksta mūsų svetainėje, tegul pasivyti su juo ir pamatyti, kas atsitiks.
Kas naujo šioje versijoje:

Komentarai GPS Tracker

Komentarai nerastas
Pridėti komentarą
Pasukite ant paveikslėlio!