- androiden begivenhed håndtering

, begivenheder på en nyttig måde at indsamle data om brugerens interaktion med interaktive elementer af ansøgninger, som tastetryk eller skærm røre osv. androiden ramme fastholder en begivenhed i kø som først ind - først ud (fifo).du kan fange disse begivenheder i deres program, og træffe passende foranstaltninger, som pr. krav., er der følgende tre begreber i forbindelse med androide begivenhedsplanlægegr &minus,,,,,, hvis lyttere, − en begivenhed til at lytte, er en grænseflade i betragtning klasse, der indeholder et enkelt callback - metode.disse metoder vil blive kaldt androiden ramme, når den opfattelse, som lytter er blevet registreret, er udløst af interaktion med brugeren med posten i eu - erhvervsgrenen,.,,,,, hvis lyttere registrering, og minus; begivenhed registrering er den proces, hvorved en begivenhed ikke bliver registreret hos en begivenhed til at lytte, så den kontaktperson hedder når tilfælde efter brande tilfælde.,,,,, hvis der håndterer &minus, når en begivenhed, der sker, og vi har registreret en begivenhed til at lytte til begivenheden, tilfælde lytter kalder tilfælde førere, som er den metode, som rent faktisk behandler tilfælde.,,,,,,, hvis lyttere & begivenhed, der håndterer, begivenhed kontaktperson tilfælde lytter & beskrivelse onclick(), onclicklistener(), kaldes det, når brugeren enten klik or rører eller fokuserer på en dims som knap, tekst, billeder. de vil bruge onclick() tilfælde fører til at håndtere sådanne tilfælde. onlongclick(), onlongclicklistener(), kaldes det, når brugeren enten klik eller rører eller fokuserer på en dims som knap, tekst, image osv. for en eller flere sekunder.du vil bruge onlongclick() tilfælde fører til at håndtere sådanne tilfælde. onfocuschange(), onfocuschangelistener(), kaldes det, når den dims mister fokus, dvs. bruger går væk fra den opfattelse, punkt på dagsordenen.du vil bruge onfocuschange() tilfælde fører til at håndtere sådanne tilfælde. onkey(), onfocuschangelistener(), kaldes det, når brugeren er fokuseret på det punkt, og presser eller afgiver en hardware nøgle på anordningen.du vil bruge onkey() tilfælde fører til at håndtere sådanne tilfælde. ontouch(), ontouchlistener(), kaldes det, når brugeren trykker nøglen, frigiver de centrale eller enhver bevægelse gestus på skærmen.du vil bruge ontouch() tilfælde fører til at håndtere sådanne tilfælde. onmenuitemclick(), onmenuitemclicklistener(), kaldes det, når brugeren udvælger en menupunkt.du vil bruge onmenuitemclick() tilfælde fører til at håndtere sådanne tilfælde. oncreatecontextmenu(), oncreatecontextmenuitemlistener(), kaldes det, når den forbindelse menu er ved at blive bygget (som følge af en vedvarende "længe klik), er der mange flere tilfælde lyttere til rådighed som en del af lyset, klasse som onhoverlistener, ondraglistener osv., som kan være nødvendige for at din ansøgning.så jeg anbefaler at henvise den officielle dokumentation for androide anvendelse udvikling i tilfælde af, at du er nødt til at udvikle et sofistikeret system. hvis lyttere, registrering, begivenhed registrering er den proces, hvorved en begivenhed ikke bliver registreret hos en begivenhed til at lytte, så den kontaktperson hedder, når begivenheden til at lytte, brande tilfælde.selv om der er mange listige måder til at registrere deres begivenhed til at lytte til alle omstændigheder, men jeg laver en liste over kun top 3 måder, som de kan bruge af dem baseret på situationen.,,, ved hjælp af en anonym indre klasse, klasse gennemfører efter aktivitet, ved hjælp af layout, grænseflade. sag activity_main.xml angive omstændigheder fører direkte.,,, under afsnit vil give dem detaljerede eksempler på alle tre scenarier og minus;, rør tilstand, brugerne kan interagere med deres udstyr ved hjælp af hardware, nøgler eller knapper eller røre ved skærmen. at røre ved skærmen er udstyret til at røre tilstand.brugeren kan interagere med den ved rører på virtuelle knapper, billeder, osv. kan du undersøge, om udstyret er i kontakt tilstand ved at lyset klasse er isintouchmode() metode.,, kontakt begivenhed, fokus, et synspunkt eller dims er normalt fremhævet eller udviser en blinkende markør, når det er i fokus.dette viser, at det er parat til at acceptere input fra brugeren.,,,, isfocusable(), – det vender rigtigt eller forkert,,,, isfocusableintouchmode(), – kontrol for at se, om de er af den opfattelse, focusable kontakt tilstand.a baggrund kan være focusable, når der anvendes en hardware nøglen, men ikke når anordningen er i kontakt - modus),,, - androiden: foucsup = "@ = id /button_l", ontouchevent(), offentlige boolean ontouchevent (motionevent begivenhed) (skift (ref. getaction()) (sag touch_down: skål. maketext (det "har slået ned ved knappen", skål. lenth_long). show(); break(); sag touch_up: skål. maketext (dette, "du har slået op ved knappen", skål. lenth_long). show(); pause, sag touch_move: skål. maketext (dette, "du har slået dig røre knap" skål. lenth_long). show(); bryde;} tilbage, super. ontouchevent (tilfælde)}, håndtering af eksempler på tilfælde, hvis registrering ved hjælp af en anonym indre klasse lyttere, her vil du crentesats, en anonym gennemførelse af lytter og vil være nyttigt, hvis hver klasse anvendes til en enkelt kontrol, og du har fordel at passere argumenter til tilfælde kontaktperson.i denne strategi, hvis kontakt metoder kan få adgang til private data af aktivitet.nej, der er nødvendig for at ringe til aktivitet, men hvis du anvender den fører til mere end én kontrol, ville du nødt til at skære og pasta - koden for kontakt, og hvis koden for handleren er lang, gør det vanskeligere at opretholde den kode, er følgende enkle skridt for at vise, hvordan vi vil gøre anvendelse af separate tilhører klasse til at registrere og fange klik begivenhed.på lignende måde du kan gennemføre deres til at lytte til andre krævede begivenhed type.,, skridt beskrivelse 1 de vil bruge androide studie ide at skabe en androide, anvendelse og give den et navn, som myapplication under en pakke, com.example.myapplication, som forklaret i den, hej verden f.eks. kapitel.2 ændre src /mainactivity.java, fil at tilføje klik begivenhed lyttere og stab for to knapper defineret.3, ændre detault indholdet af res /layout /activity_main.xml, fil til også at omfatte androide - kontrol.4. ingen grund til at erklære misligholdelse snor konstanter. androide studie tager sig misligholdelse konstanter.5 - anvendelse til at iværksætte androide emulator og kontrollere resultatet af ændringer i anvendelsen.efter er indholdet af den ændrede vigtigste aktivitet fil src /com. f.eks. myapplication /mainactivity -.denne dokumentation kan omfatte hver af de grundlæggende livscyklus metoder., pakke com.example.myapplication; offentlige klasse mainactivity udvider actionbaractivity (private progressdialog fremskridt; knap b1, b2, @ tilsidesætte beskyttede tomrum oncreate (bundt savedinstancestate) (super. oncreate (savedinstancestate); setcontentview (r.layout. activity_main); fremskridt = nye progressdialog (det), b1 = (") findviewbyid (r.id.button); 2 = (knap) findviewbyid (r.id.button2), b1. setonclicklistener (ny mening. onclicklistener() {@ tilsidesætte offentlige tomrum onclick (betragtning v) (textview txtview = (textview) findviewbyid (r.id.textview); txtview. settextsize (25)}}) og b2. setonclicklistener (ny mening. onclicklistener() {@ tilsidesætte offentlige tomrum onclick (betragtning v) (textview txtview = (textview) findviewbyid (r.id.textview); txtview. settextsize (55)}})} @ tilsidesætte offentlige boolean oncreateoptionsmenu (menu kortet) (//puste menuen. dette tilføjer punkter den aktion, bar hvis det er til stede.getmenuinflater(). puste (r.menu.menu_main menuen); tilbage.} @ tilsidesætte offentlige boolean onoptionsitemselected (menuitem punkt på dagsordenen) (//klare foranstaltninger bar punkt klik her.aktionen bar //automatisk klare klik på hjem /op knappen, så længe //som de angiver en forælder aktivitet i androidmanifest.xml.int id = post. getitemid(); //noinspection simplifiableifstatement hvis (id = = r.id.action_settings) {tilbage.} tilbage, super. onoptionsitemselected (punkt)), som vil være indholdet af de res /layout /activity_main.xml, fil −, < 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" androide: paddingbottom = "@ dimension /activity_vertical_margin" androide: paddingleft = "@ dimension /activity_horizontal_margin" androide: paddingright = "@ dimension /activity_horizontal_margin" androide: paddingtop = "@ dimension /activity_vertical_margin" værktøjer: forbindelse = mainac ".under "> < textview androide: id =" @ + id /textview1 "androide: layout_width =" wrap_content "androide: layout_height =" wrap_content "androide: tekst =" begivenhed "androide håndtering: layout_alignparenttop =" ægte "androide: layout_centerhorizontal =" ægte "androide: textsize =" 30dp "/> < textview androide: id =" @ + id /textview2 "androide: layout_width =" wrap_content "androide: layout_height =" wrap_content "androide: tekst =" undervise "androide: textcolor ="&#ff87ff09 "androide: textsize =" 30dp "androide: layout_above =" @ + id /imagebutton "androide: layout_centerhorizontal =" ægte "androide: layout_marginbottom =" 40dp "/> < imagebutton androide: layout_width ="wrap_content "androide: layout_height =" wrap_content "androide: id =" @ + id /imagebutton "androide: src =" @ drawable /abc "androide: layout_centervertical =" ægte "androide: layout_centerhorizontal =" ægte "/> < knap androide: layout_width =" wrap_content "androide: layout_height =" wrap_content "androide: tekst =" små "androide: id =" @ + id /knap "androide: layout_below =" @ + id /imagebutton "androide: layout_centerhorizontal =" ægte "/> < knap androide: layout_width =" wrap_content "androide: layout_height =" wrap_content "androide: tekst =" store "androide: id =" @ + id /button2 "androide: layout_below =" @ + id /knap "androide: layout_alignright =" @ + id /knap "- androiden: layout_alignend = "@ + id /knap" /> < textview androide: layout_width = "wrap_content" androide: layout_height = "wrap_content" androide: tekst = "hej!"- androiden: id = "@ + id /textview" androide: layout_below = "@ + id /button2" androide: layout_centerhorizontal = "ægte" androide: textsize = "25dp" /> < /relativelayout > efter vil være indholdet af de res /værdier /strings.xml, at definere to nye konstanter −, <?xml - version = "0" kodning = "utf - 8"?> < ressourcer > < snor navn = "app_name" > myapplication < /snor > < snor navn = "action_settings" > (< /snor > < /ressourcer efter er > indhold af misligholdelse, androidmanifest.xml, −, <?xml - version = "0" kodning = "utf - 8"?> < åbenbar xmlns: androide = "http://schemas.android.com/apk/res/android" pakke = "kom. f.eks. myapplication" androide: versioncode = "1" androide: versionname = "0" > < bruger sdk androide: minsdkversion = "8" androide: targetsdkversion = "22" /> og lt; anvendelse androide: allowbackup = "ægte" androide: ikon = "@ drawable /ic_launcher" androide: fareseddel = "@ snor /app_name" androide: tema = "@ stil /apptheme" > < aktivitet androide: navn = "kom. f.eks. myapplication. mainactivity" androide: fareseddel = "@ snor /app_name" > < hensigt filter > < aktion androide: navn = "androide. forsæt. vigtigste" /> < kategori androide: navn = "android.intelt. kategori. granatkaster "/> < /hensigt filter > < /aktivitet > < /anvendelse > < /åbenbar > lad os forsøge at løbe, myapplication, anvendelse.jeg går ud fra, at du har skabt din, avd, mens det miljø fælde.at løbe app fra androide studie, åbne en af jeres projekt er aktivitet, filer og klik, ikon fra toolbar.- androiden studie installationer - app på din avd og starter det, og hvis det er fint med din fælde og anvendelse, vil det vise følgende emulator vindue −,, og nu forsøger du at klikke på to knapper, en efter en, og du vil se, at fuld af, hej, tekst vil forandringer, der sker, fordi registreret klik begivenhed kontaktperson metode er at blive kaldt mod hver enkelt klik begivenhed., motion, jeg vil anbefale, at prøve at skrive for forskellige typer af begivenheder i de forskellige omstændigheder og forstå forskellen på forskellige typer af hændelser og deres behandling.begivenhederne i forbindelse med menu, spinner, hakkere widgets er lidt forskellige, men de er også baseret på de samme begreber som forklaret ovenfor.

Event
Eclipse Run Icon
Android Event Handling



Previous:
Next Page: