Matou te fa'apolokalame lou va'aia! Fa'atino lelei ile ONMA scout Android app development e fa'amaonia.
Fa'afeso'ota'i
O le atina'eina o se Android app o se auala sili lea e maua ai tupe a'o e a'oa'oina le totonugalemu ma fafo o se gagana fou polokalame. E tele ituaiga gagana eseese e mafai ona e fa'aogaina e fai ai polokalame mo masini Android, e aofia ai Java, Kotlin, vave, Sini-I, ma isi. O le filifilia o le gagana sa'o e taua tele i le ausiaina o taunuuga sili, o lea e taua ai le faia o ni suʻesuʻega.
Java o se tasi o gagana sili ona lauiloa e faʻaaogaina i le atinaʻeina o telefoni feaveaʻi. O lona feso'ota'iga lautele o lona uiga e mafai ona ta'avale i le toetoe lava o masini uma ma faiga fa'aoga. O lona natura saoloto e avea foi ma filifiliga sili mo tagata atiae e leai se poto masani. Ose gagana tatala ma e mana'omia na'o se tupe fa'aalu mo le atina'eina o telefoni feavea'i. O le tele o tagata atiaʻe e filifili mo lenei filifiliga saoloto e atiaʻe ai polokalama mo faʻavae eseese.
O le Java programming language o se gagana fa'amoemoe lautele mamana. Na faia i 1995 saunia e Sun Microsystems ma ua umia nei e Oracle. E lagolagoina ituaiga fa'amaumauga muamua ma polokalame fa'atatau i mea. E ui o lona syntax e foliga tutusa C/C++, Java ei ai se tulaga sili atu ona maualuga o abstraction. E lē gata i lea, Java code e masani ona tusia i le tulaga o vasega ma mea faitino. O le Java programming language o se vaega taua o le atinaʻeina o polokalama Android. E mafai e le au atiaʻe ona faʻaogaina faletusi masani a Java e fatu ai ni faʻaoga faʻapitoa ma faʻatuatuaina.
O se tasi o auala sili e aʻoaʻo ai Java mo le atinaʻeina o polokalama Android o le fesoʻotaʻi ma isi tagata atiaʻe. O le auai i se fa'alapotopotoga fa'atupu o le a fa'ataga ai oe e fa'asoa fa'amatalaga ma fa'amatalaga ma isi tagata atia'e. O lenei auala, e iai sau feso'ota'iga o tagata e fa'afeiloa'i i ai pe a e pipii i se galuega fa'apitoa. O le a mafai ona latou fesoasoani ia te oe i faʻafitauli ma fesoasoani ia te oe e atiaʻe au tomai faʻalauteleina Java app.
Kotlin mo le atina'eina o polokalama Android o se gagana e mafai ona fesoasoani ia te oe e fausia ai polokalama Android. Faatasi ai ma lenei tusi, e te aʻoaʻoina faʻavae o Kotlin. E i ai se seti tele o lisi lisi ma savali oe i le fausiaina o ni polokalama Android se lua. O le tusi na tusia e Peter Sommerhoff ma o le a fesoasoani pe afai e te fou i Kotlin pe o se amataga..
Kotlin o se polokalame polokalame e tutusa ma Java, ae e iai ona uiga uiga ese. O le faaiuga, e mafai ona ofoina atu le gaosiga sili atu mo tagata atiae. O le gagana e faigofie ona aʻoaʻoina ma mafai ona faitau, o lona uiga e itiiti le code boilerplate. Ole mea lea ole a maua ai le vave ole taimi ole atina'e ma fa'aitiitia le tau ole tausiga.
Afai e te manaʻo e atiaʻe polokalama Android vave, Kotlin o se filifiliga sili ona lelei. E tele polokalame polokalame ua uma ona lagolagoina Kotlin. Afai ua e iloa Java, e faigofie ona e tuʻufaʻatasia Kotlin i lau IDE.
Afai e te manaʻo e fai ni polokalame mo iOS ma le Android, e mafai ona e fa'aogaina Objective-C. Ole gagana fa'apolokalame muamua lea mo le Mac OS X, ae aoga foi mo le atiaeina o taaloga ma isi talosaga mo isi tulaga. O se superset o C ma e aofia ai le tele o vaega, e pei o mea e mafai ona fa'atatau i mea ma se ta'aloga malosi. Fa'amoemoe-C fa'atosina ituaiga muamua o le gagana C, ae faaopoopo le syntax mo faʻamatalaga vasega ma le faʻatonutonuina o kalafi mea. E tu'uina atu ai fo'i le ta'i ma'i ma fa'ate'a le tele o tiute i le taimi fa'atino.
Sini-C ose gagana mamana ma lauiloa polokalame. E maualuga lona fa'atinoga ma e faigofie ona a'oa'oina. Peitai, e le faigofie e faʻaaoga e pei o Swift. Na faʻaalia talu ai nei e Apple Swift o le sui o le Objective-C, lea ose gagana fa'akomepiuta mo iOS ma le Android. E tele mea e fa'afaigofie ai ona fai ni polokalame fa'atasi ma feso'ota'iga fa'aoga.
Objective-C ose gagana fa'apolokalame lauiloa tele mo feso'ota'iga feavea'i ma upega tafa'ilagi. E maua ai le tele o aogā, e aofia ai se fa'asologa o le code fa'apoto ma manino. E tu'ufa'atasia fo'i i le JavaScript ma le tulafono fa'ale-aganu'u, ma e fetaui ma Java. Ole mea lea ua avea ai ma filifiliga ta'uta'ua mo le au atina'e o polokalama Android. I le male, e mafai ona tu'ufa'atasia mo le fa'aogaina i luga o isi fa'avae, faia ose gagana fa'akomepiuta fa'apitoa.
O le faʻaaogaina o le Swift e atiaʻe ai lau Android app e mafai ona aoga mo le saoasaoa ma le faʻatinoga o lau app. O le Swift o se gagana fa'apolokalame malosi na atia'e e Apple. E fa'amoemoe e tu'uina atu i le au atina'e le tele o fetu'una'iga i le fa'atinoina o latou manatu fa'atupu. E lagolagoina uma masini Apple ma e sili atu le saoasaoa nai lo le Objective-C. Ua faatupulaia lona lauiloa, ma le tele o atinaʻe o loʻo tuʻufaʻatasia le Swift code i totonu oa latou polokalama. E lē gata i lea, Swift apps e sili atu le saogalemu e faʻaoga nai lo na tusia i le Objective-C.
O le laasaga muamua i le aʻoaʻoina e atiaʻe se Android app o le aʻoaʻoina lea o le gagana polokalame. O gagana o lo'o fa'aaogaina i le fausiaina o se app e aofia ai Java, Sini-I, ma Swift. Afai e iai sau poto masani ile polokalame, e mafai ona e filifilia soʻo se tasi o nei gagana ma faʻaaogaina e fai ai se faʻaoga masani. E mafai fo'i ona e fa'ata'ita'i ni fa'aoga fa'afefiloi ma le HTML5 po'o le JavaScript.
O le Swift o loʻo faʻaalia foi le fesoʻotaʻiga C++ API, lea e mafai ona aoga pe afai e te manaʻo e fausia se faʻaoga faʻapipiʻi. E lē gata i lea, E lagolagoina foi e Swift le Android Autolayout, lea e faafaigofie ai le fausiaina o UI. E le gata i lea, o lo'o tu'uina atu ai fo'i filifiliga e fa'aoga ai fa'avaa-tolu-vaega. Faatasi ai ma nei foliga uma, Swift e mafai ona avea ma meafaigaluega sili mo le atinaʻeina o polokalama Android.
Afai o loʻo e fuafua e atiaʻe se Android app, ona tatau lea ona e mafaufau e faʻaaoga OpenGL. O lenei gagana fa'apolokalame e mafai ai ona e faia ni ta'aloga ma ata 3D. E lagolagoina le tele o ituaiga lau tele. E mafai fo'i ona e fa'aogaina le OpenGL e fai ai fa'aaliga o meapueata ma fa'aoga le fa'aaliga. Afai e te le o mautinoa pe faʻapefea ona faʻaoga OpenGL, e mafai ona e faitau atili e uiga i ai i le taʻiala a le developer.
O le OpenGL o loʻo faʻatinoina lautele i luga o le tele o faʻalapotopotoga faʻapitoa, lea e faafaigofie ai mo le au atiaʻe ona faia ni tulaga-tutoatasi talosaga. I le male, E le afaina le OpenGL i tapula'a fa'avavevave meafaigaluega. O lona uiga e mafai ona e atiaʻe tusi talosaga e faʻaogaina lelei i luga o tulaga eseese, e aofia ai le Android. O se faʻaopoopoga sili lea mo tagata faʻapipiʻi Android. I le male, OpenGL e lagolagoina e le tele o masini feaveaʻi. O le fa'aogaina o lenei tekonolosi o le a fa'afaigofie ai au polokalama.
OpenGL fa'aaoga ituaiga e lua o shaders, e ta'ua o vertex shaders ma fragment shaders. O le vertex shader o lo'o fa'agasolo fa'amaumauga fa'ailoga i se auala fa'avasega, a'o le fragment shader o lo'o taulimaina fa'amatalaga ma lanu. O nei ituaiga e lua o shaders e galulue faʻatasi e faʻaalia se uiga 3D i luga o le lau.
O API e fa'atatau ile nofoaga ole Android e maua ai se auala faigofie e fausia ai talosaga e iloa ai nofoaga. Fa'aaogaina nei 'au'aunaga, e mafai ona e fa'aopoopoina foliga e pei o le geofencing ma le fa'ailoaina o gaioiga i lau app. O le Nofoaga API e toe fa'afo'i ai le tele o ta'iala, pei o le mamao, sa'o, ma le saoasaoa, i lau app.
O se fa'aoga fa'atatau ile nofoaga e mafai ona ofoina atu le tele o fa'amanuiaga, mai ta'amilosaga va'aia ma mea faigaluega Fa'aopoopo Moni e su'e ai mana'oga o tagata. O nei talosaga e ofoina atu foi i tagata e ana pisinisi faʻamatalaga e uiga ia latou tagata faʻatau’ amio, lea e mafai ona fesoasoani ia i latou e atiina ae a latou fuafuaga tau maketi. I le male, e mafai e nei polokalame ona tu'ufa'atasia fa'afanua ma fa'amaopoopo GPS.
APIs au'aunaga fa'avae i nofoaga mo tagata e fa'atupu polokalame Android e tu'uina atu ni filifiliga se lua i tagata atia'e: se auala tusi lesona e fa'aofi ai fa'amatalaga nofoaga i totonu o se talosaga, po'o se 'au'aunaga e otometi lava ona maua tagata fa'aoga e ala i le fa'aogaina o fa'amatalaga GPS. E i ai se laina lelei i le va o le faʻaaogaina o nei auala e lua, o lea e tatau i tagata atiae ona filifili le filifiliga e sili ona fetaui ma o latou manaʻoga.
E mafai ona e faia ni vaega se tele i le Dagger android app atia'e auivi. Ona, e tatau ona e faauigaina i latou i le auala talafeagai. Faataitaiga, e mafai ona e fatuina se LoginViewModel ma se LoginActivity. O vaega uma e lua o le a tutusa galuega, ae o le a manaʻomia ni vasega faʻavae eseese. E mafai ona e fa'aogaina lenei fa'ata'ita'iga e fa'asili atu ai lau fa'aoga ma fa'alelei. Peitai, e tatau ona e nofouta i nisi tapulaa.
O se tasi o mea le lelei o le faʻaaogaina o faʻamatalaga lautele o le mafai lea ona latou faʻafeiloaʻi le faʻaogaina o mafaufauga. Talu ai o se vaega lautele e tatau ona manatua pe a tui i totonu o se gaioiga, o le a tumau pea iina seia oʻo ina faʻaumatia le talosaga. Ae o lesi foi itu, o se tulaga tulaga ese o le UserRepository o le a tumau pea i le manatua seia oʻo ina faʻaumatia le talosaga. Ina ia puipuia ai ia faafitauli, e mafai ona e taʻutino atu le tele o tui() metotia i lau vaega. O nei metotia e mafai ona faʻaigoaina soʻo se mea ae tatau ona maua se mea e te manaʻo e tui.
E faʻamaonia foi e le Dagger le tui tatau o fanua faʻaaoga @Inject. E taua tele lenei mea talu ai e le mafai e le faʻavae ona iloa au faʻalagolago pe a le maua i latou i nofoaga saʻo. O lesi foi mea, pe afai o se vaega e tele taimi o se vasega, O le a lafo e Dagger se mea sese taimi-taimi pe a le mafai ona maua.
E mafai e tagata atiaʻe Android ona faʻaogaina le ReactiveX e faʻaalia ai a latou polokalama. O lenei ituaiga polokalame e mafai ai e tagata atiaʻe ona faʻatautaia galuega fesoʻotaʻiga i luga o se filo i tua nai lo le filo UI. E mafai fo'i ona fa'amaoti se filo e fa'aoga mo se galuega i tua ma se isi mea mo fa'afouga fa'aoga fa'aoga. Ina ia faia lenei mea, matou te mana'omia le fatuina o se mea masani Observable e fa'aaoga ai le tagata fa'atino. O lenei mea e tatau ona faʻaogaina le Observable.OnSubscribe interface ma pulea le onNext, tasiError, ma i luga Ua mae'a metotia.
O le ReactiveX o se gagana fa'apolokalame e fa'aogaina ai tagata va'ava'ai ma mata'ituina e fatu ai se mea e fa'aulu ma fa'aaogaina fa'amaumauga. O mea e mafai ona matauina o ni mea faigofie e fa'atusalia fa'amaumauga eseese. O latou o faʻataʻitaʻiga o le vasega Observable ma o loʻo i ai le tele o auala faʻapitoa. O se tasi o auala pito sili ona faigofie e fai ai se mea e mataʻituina o le faʻatasi lea ma le tagata faʻapitoa, lea o le a fausia ai se mata'ituina faigofie. E mafai fo'i ona e fa'aopoopoina se tagata matau i ai ina ia fa'auluina ai fa'amatalaga. Ole mea lea ole a fa'aalia ai se fe'au Talofa ile fa'amalama Android Studio logcat.
E mafai fo'i ona fai e le 'aufaigaluega ReactiveX, liua, ma faatino galuega i luga o mea e mafai ona matauina. Faataitaiga, e mafai e le tagata fa'afoe mai ona fatuina se mata'ituina mai se lisi po'o se fa'asologa o mea Integer.