bygge en skik granatkaster på androide

, opbygge en skik granatkaster på androide,,,,, 81,,,,,,,,, 25,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,,,,, hvad du vil lave,,, indførsel, i sin mest grundlæggende form, en rampe er en ansøgning, der er følgende:, repræsenterer det hjemme på en anordning, der lister og lancerer ansøgninger, som er monteret på maskinen, det er med andre ord den ansøgning, der dukker op, når du trykker på den knap.medmindre du har allerede installeret en skik granatkaster, du bruger i øjeblikket   misligholdelse rampe, der kommer med deres androide anlæg.en masse udstyr, producenterne har deres egne misligholdelse, der er i overensstemmelse med deres egen skik løfteraketter ser ud og føles, for eksempel,   samsung touchwiz og htc.,, i denne forelæsning, vi skal   skabe   simpelt raketstyr med en grundlæggende brugergrænseflade.det har to skærme:,, et hjem skærm viser enheden er tapet, en skærm viser ikonerne og nærmere oplysninger om de ansøgninger, monteret på maskinen,, 1.krav, skal du have følgende installeret og konfigureret til deres udvikling maskine:,,, - androiden sdk og platform værktøj, en ide 3.7.2 eller højere med adt stik af, en emulator eller androide anordning kører   androide 2.2 eller højere,,, du kan downloade sdk og platform værktøjer androiden udvikler portal.,,, 2.projekt opsætning, iværksætte formørkelse og skabe en ny androide anvendelse - projektet.jeg døber anvendelse  , simplelauncher,, men du kan kalde det   alt, hvad du vil.   sørg for at bruge en enestående   pakke.den laveste sdk version vores   granatkaster   støtter, er, froyo,   og målet sdk  , bassemand.,,,,,, siden vi   vil ikke skabe en, aktivitet, deseiect, skabe aktivitet.klik  , færdig,   fortsætte.,,,,,, 3.projekt manifest, det næste skridt er at ændre  , androidmanifest.xml, sag ved at tilføje   to aktiviteter.den første virksomhed,   viser hjem skærm.lad os kalde det, homeactivity,   som vist nedenfor.,,, < aktivitet androide: navn = "ah. hathi. simplelauncher. homeactivity" androide: fareseddel = "simpel granatkaster hjem" androide: tema = "@ androide stil /tema. tapet. notitlebar. fullscreen" androide: launchmode = "singletask" androide: statenotneeded = "ægte" > < hensigt filter > < aktion androide: navn = "androide. forsæt. vigtigste" /> < kategori androide: navn = "androide. hensigt. kategori. hjem" /> < kategori androide: navn = "androide. hensigt. kategori. default" /> < /hensigt filter > < /aktivitet >, ved at tilføje de kategorier, android.intent.category.home og androide. hensigt. kategori. misligholdelse,   til hensigt at filtrere,   gruppe i den forbindelse.ed, aktivitet, opfører sig som en granatkaster og dukker op som en mulighed, når du trykker på den knap er   hjem, er vi også nødt til at   fastsætte, launchmode, til singletask,   for at sikre,  , at kun et eksempel på dette, aktivitet, er i besiddelse af systemet til enhver tid.for at vise brugeren er   tapet, der er emnet for  , tema. tapet. notitlebar. fullscreen,.,, den anden aktivitet,   er vi nødt til at tilføje,   viser de ansøgninger, der er monteret på brugerens anordning.det er også ansvarlige for at iværksætte applikationer.vi har ikke brug for nogen særlig form for denne aktivitet.navn, appslistactivity,.,,, < aktivitet androide: navn = "ah. hathi. simplelauncher. appslistactivity" androide: tema = "@ androide stil /tema. notitlebar. fullscreen" > < /aktivitet >,, 4.aktivitet layout, skabe en xml - fil for  , homeactivity,   klasse i projektets, res /indretning, servietter og opkalde det  , activity_home. xml,.opstilling   har   én knap,  , der svarer til klik begivenheder.trykke på knappen, der bruger fra hjem skærm til listen over anvendelsesområder.,, < relativelayout xmlns: androide = "http://schemas.android.com/apk/res/android" xmlns: værktøj = "http://schemas.android.com/tools" androide: layout_width = "match_parent" androide: layout_height = "match_parent" værktøjer: forbindelse = ". homeactivity" > < knap androide: id = "@ + id /apps_button" androide: layout_width = "wrap_content" androide: layout_height = "wrap_content" androide: layout_alignparentright = "ægte" androide: layout_alignparenttop = "ægte" androide: layout_marginright = "10dp" androide: layout_margintop = "10dp" androide: tekst = "vis apps" androide. onclick = "showapps" />< /relativelayout >,, skabe en   xml - fil for  , appslistactivity, klasse i - projektet er, at res /indretning, servietter og opkalde det  , activity_apps_list. xml,.opstillingen indeholder en  , listview, der påtager sig hele skærmen.,, <?xml - version = "0" kodning = "utf - 8"?> < linearlayout xmlns: androide = "http://schemas.android.com/apk/res/android" androide: layout_width = "match_parent" androide: layout_height = "match_parent" androide: orientering = "vertikale" > < listview androide: id = "@ + id /apps_list" androide: layout_width = "match_parent" androide: layout_height = "match_parent" > < /listview > < /linearlayout > og endelig skabe et tredje xml - fil på samme adresse og navn, det  , list_item. xml,.denne sag definerer indretning af et punkt   i, listview,.hver liste på   post repræsenterer en ansøgning er monteret på brugerens   anordning.det viser anvendelsen er   ikon, etiket og emballage navn.vi har   anvendelse ikon, ved hjælp af en  , imageview,   instans og  , textview tilfælde for   mærke og emballere navn.,, <?xml - version = "0" kodning = "utf - 8"?> < relativelayout xmlns: androide = "http://schemas.android.com/apk/res/android" androide: layout_width = "match_parent" androide: layout_height = "match_parent" androide: polstring = "10dp" > < imageview androide: id = "@ + id /item_app_icon" androide: layout_width = "wrap_content" androide: layout_height = "wrap_content" androide: layout_alignparentleft = "ægte" androide: layout_centervertical = "ægte" /> < textview androide: id = "@ + id /item_app_label" androide: layout_width = "wrap_content" androide: layout_height = "wrap_content" androide: layout_torightof = "@ + id /item_app_icon" androide: paddingleft = "10dp" /> <textview androide: id = "@ + id /item_app_name" androide: layout_width = "wrap_content" androide: layout_height = "wrap_content" androide: layout_below = "@ + id /item_app_label" androide: layout_torightof = "@ + id /item_app_icon" androide: paddingleft = "10dp" /> < /relativelayout >,, 5.   gennemførelse af   aktivitetskategorier,,,,,,, homeactivity,,, med anvendelse af anvendelsen, der er skabt, er det tid til at   skabe to, aktivitet, klasser.når vi skaber to klasser, sørg for navnet på hver klasse tændstikker   dem, der er specificeret i projektet er åbenbar fil tidligere.,, skabe en ny klasse, der hedder, homeactivity,   og  , android.app.activity, som superclass.,, pakke ah.hathi.simplelauncher; import android.app.activity; import android.content.intent; import android.os.bundle, import android.view.view; offentlige klasse homeactivity udvider aktivitet {@ tilsidesætte beskyttede tomrum oncreate (bundt savedinstancestate) (super. oncreate (savedinstancestate); setcontentview (r.layout. activity_home)} offentlige tomrum showapps (betragtning v) (intent - to - jeg = nye hensigt (det appslistactivity. klasse); startactivity (i)), i klassen er  , oncreate, metode,   vi -nvoke, setcontentview, passerer i   den   layout, skabte vi tidligere.kan du huske, at   vi tilføjede en knap   til  , activity_home,   layout, der udløser en   metode, der hedder, showapps,.   vi nu   skal gennemføre denne metode i  , homeactivity, klasse.gennemførelsen er ret enkelt, skaber vi en  , forsæt, for  , appslistactivity,   klasse og starte den. appslistactivity,,,,,, skabe en aktivitet,   klasse, der hedder, appslistactivity,   og  , android.app.activity, som superclass.   i klassen er  , oncreate,   metode,   påberåber vi  , setcontentview, passerer i  , activity_apps_list,   layout, skabte vi tidligere.,, pakke ah.hathi.simplelauncher; import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view; offentlige klasse appslistactivity udvider aktivitet {@ tilsidesætte beskyttede tomrum oncreate (bundt savedinstancestate) (super. oncreate (savedinstancestate); setcontentview (r.layout. activity_apps_list)),selv om vores rampe er ikke færdig endnu, du   kan redde og drive deres ansøgning på dette punkt.når du   presse   anordningen er knap, bør du   se en pop - up spørger  , der affyrer du vil bruge.,,,,,, hvis du   vælge  , simple granatkaster hjem,  , du bør se   dit nye hjem skærm med en enkelt knap i øverste højre hjørne     af skærmen.du skal også se deres udstyr er aktuelle tapet.,,,,, gå tilbage til solformørkelsen og skabe en klasse, der hedder, appdetail,  , som vil indeholde nærmere oplysninger om en ansøgning, sin pakke navn, etiket, og anvendelse af symbolet.grænsesnittet er grundlæggende, som du kan se nedenfor.,, pakke ah.hathi.simplelauncher; import android.graphics.drawable.drawable; offentlige klasse appdetail {charsequence etiket; charsequence navn; drawable ikon.}, 6.nydelig ansøgninger, i, loadapps, metode i  , appslistactivity, klasse, vi bruger, queryintentactivities,   metode i  , packagemanager, klasse for at hente alle de  , godt, der er en kategori af  , forsæt. category_launcher,.den indeholder en liste   afkast af   ansøgninger, der kan være   iværksat af en granatkaster.vi loop gennem resultaterne af forespørgslen, og der tilsættes hvert punkt på en liste, der hedder apps.tag et kig på følgende kode snippet til præcisering.,, private packagemanager manager, private liste < appdetail > apps; private tomrum loadapps() {manager = getpackagemanager(); apps = nye arraylist < appdetail > c); hensigt i = nye hensigt (intent.action_main, null); i.addcategory (intent - to -. category_launcher); listen < resolveinfo > availableactivities = manager. queryintentactivities (, 0); (resolveinfo ri: availableactivities) (appdetail app = nye appdetail(); app.label = ri. loadlabel (leder); app.name = ri.activityinfo.packagename; app.icon = ri. activityinfo. loadicon (leder); apps. tilføje (app)), 7.med den liste over ansøgninger, med   apps, variable, der indeholder   alle de oplysninger, vi har brug for,   kan vi vise en liste over ansøgninger ved hjælp af  , listview,   klasse.  , skaber vi en enkel, arrayadapter,   og tilsidesætte sin, getview,   metode til at gøre listen er   poster.vi så   forbinder, listview med adapteren.,, private listview liste; private tomrum loadlistview() (liste = (listview) findviewbyid (r.id.apps_list); arrayadapter < appdetail > adapter = nye arrayadapter < appdetail > (det r.layout.list_item apps) {@ tilsidesætte offentligheden getview (int holdning, mener convertview, viewgroup modervirksomhed) (hvis (convertview = = null) (convertview = getlayoutinflater(). puste (r.layout.list_item, null)} imageview appicon = (imageview) convertview. findviewbyid (r.id.item_app_icon); appicon. setimagedrawable (apps. kom (stilling). ikon); textview applabel = (textview) convertview. findviewbyid (r.id.item_app_label); applabel. settext (apps. kom (stilling). -el); textview appname = (textview) convertview. findviewbyid (r.id.item_app_name); appname. settext (apps. kom (stilling). navn); tilbage convertview;}}; liste. setadapter (adapter)}, 8.lytter til klik, når brugeren   klik et punkt i den, listview, de tilsvarende anvendelse bør være iværksat af vores granatkaster.vi bruger  , getlaunchintentforpackage, metode i  , packagemanager,   klasse   at skabe en hensigt,  , som vi begynder anvendelsen.tag et kig på følgende kode snippet.,, private tomrum addclicklistener() (liste. setonitemclicklistener (nye adapterview. onitemclicklistener() {@ tilsidesætte offentlige tomrum onitemclick (adapterview <?> av, betragtning v, int pos, lang id) (intent - to - jeg = manager. getlaunchintentforpackage (apps. kom (pos). navn. tostring()); appslistactivity. startactivity (i)))), 9.lægger det hele sammen, for at gøre det hele sammen, er vi nødt til at påberåbe sig, loadapps,, loadlistview, og addclicklistener, i  , oncreate,   metode for, appslistactivity, klasse, som vist nedenfor.,, beskyttede tomrum oncreate (bundt savedinstancestate) (super. oncreate (savedinstancestate); setcontentview (r.layout. activity_apps_list); loadapps(); loadlistview(); addclicklistener();}, bygge og drive deres ansøgning for endnu en gang at se resultatet.du skal   være i stand til at se de ansøgninger, der kan iværksættes, når du tryk på knappen på hjemme på vores granatkaster.klik på et punkt   at iværksætte tilsvarende anvendelse.,,,,,, konklusion, nu har du din egen skik granatkaster.det er meget simpelt, men du kan tilføje alle customizations, du vil have.hvis du vil grave dybere i skik løfteraketter, opfordrer jeg dem til at tage et kig på stikprøven ansøgninger   på   androiden udvikler portal.

Final product image







Previous:
Next Page: