, 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.
bygge en skik granatkaster på androide
Previous:10 alternative androide app butikker