Műveletek, android fejlesztők
kulcs osztályok
Lásd még .:
Általános szabály, hogy egy alkalmazás áll több műveleteket, amelyek lazán kapcsolódnak egymáshoz. Jellemzően egy művelet az alkalmazás a továbbiakban: „alap”, felajánlotta, hogy a felhasználót, ha az alkalmazás első elindításakor. Az viszont, minden egyes művelet lehet kezdeni egy másik művelet elvégzésére különféle intézkedéseket. Minden alkalommal, amikor egy új műveletet, az előző művelet leáll, de a rendszer elmenti a stack ( „stack átmenetek back”). Amikor elkezd egy új műveletet, akkor kerül a köteg átmenetek vissza, és megjelenik a felhasználó. Stack átmenetek vissza elvén működő „utolsó lépett - first out”, így, miután a felhasználó befejezte az aktuális műveletet, és megnyomta a Vissza gombot. aktuális műveletet eltávolítjuk a köteg (és meg kell semmisíteni), és folytatja az előző műveletet. (A részleteket verem átmenetek vissza cikkben bemutatott és feladatok verem átmenetek vissza.)
Ha a működés leállása miatt indul egy új műveletet az értesítést a változás az állami technikák alkalmazásával visszahívási műveletet teljes életciklusa alatt. Számos ilyen módszerek, amelyek kaphatnak működési változások miatt az állami - létrehozása működése, megáll, folytatása vagy megölése rendszer; visszahívókat is lehetőséget teremt, hogy végre egy bizonyos műveletet, amely alkalmas a megfelelő állapot változás. Például esetén leállítja a műveletet el kell engedniük bármilyen nagy tárgyakat, például hálózati kapcsolat vagy tárol. A folytatása a művelet, akkor újra megszerezni a szükséges forrásokat, és folytassa a megszakított műveletet. Ilyen állapotban a változások egy része életciklusának működését.
A dokumentum további részében a legfontosabb fogalmakkal létrehozásával és használatával műveleteket, beleértve a teljes működését ismertetjük az életciklus, így jobban megértsék, hogyan kell kezelni az átmenetek különböző állapotok között működik.
Create műveletek
Létrehozásához műveletet, akkor először létre kell hoznia egy alosztálya Activity osztály (vagy egy meglévő használata alosztály is). Ez az alosztály kell hajtania egy visszahívási módszerekkel, ami miatt a rendszer működését az átmenet az egyik állapotában életciklusa egy másik, mint például a létrehozás, megállítani, vagy folytathatja a megsemmisítési művelet. Íme a két legfontosabb visszahívási eljárás:
onCreate () Ez a módszer mindig meg kell végrehajtani, mert a rendszer azt okozza, hogy hozza létre a műtét. Ennek végrehajtásakor meg kell inicializálni a legfontosabb elemei a műveletet. A legfontosabb, hogy ez itt, hogy ok setContentView () határozza meg az elrendezés a felhasználói felület működését. onPause () rendszer kéri ezt a módszert első kimeneti jellemző a felhasználói művelet (ez azonban nem mindig jelenti azt, hogy a működés elpusztul). Általában ez az, ahol meg kell alkalmazni minden olyan változásról kell tárolni mellett a jelenlegi felhasználói munkamenet (mert a felhasználó nem tud visszamenni).
Van még néhány más módszerek visszahívás életciklusa, amelyet meg kell használni annak érdekében, hogy biztosítsa a zökkenőmentes átmenetet a műveletek, valamint kezelésére váratlan zavarok művelet eredményeként, amely lehet állítani, vagy megsemmisült. Egy részletesebb leírás az összes visszahívás életciklus módszerek kerülnek bemutatásra a szakasz az életciklus-műveleteket.
A megvalósítás a felhasználói felület
Annak érdekében, hogy hajtsák végre a műveletet a felhasználói felület használt tárgyak, fogalmak hierarchikus származó nézet osztályban. Minden nézet felelős egy adott téglalap alakú terület a művelet ablak és válaszoljon a felhasználó műveleteire. Például a képviselet lehet egy gomb megnyomásával, amely elvezet a végrehajtásához szükséges lépéseket.
Az Android biztosít egy sor kész ötlet, hogy tudod használni, hogy hozzon létre egy layout tervezés és szervezés. Widgets - a képi ábrázolás (és interaktív) elemek, mint például gombok, szövegmezők, négyzeteket, vagy csak a képeket. Elrendezések - a beérkezett beadványt az osztály ViewGroup. amely egyedülálló elrendezés modell a gyermek nézeteit, mint a lineáris elrendezés, vagy relatív műsorrácsból. Ön is létrehozhat egy alosztálya megtekintése osztály és ViewGroup (vagy a meglévő alosztályok), hogy saját widgeteket és elrendezések, majd alkalmazza azokat az elrendezés működését.
Leggyakrabban, a munkahelyek segítségével elrendezés nézet XML-fájl elrendezését, tárolt alkalmazás erőforrásait. Így folyamatosan a design a felhasználói felület külön a forráskódot, ami arra használható, hogy a viselkedését a műveletet. Ahhoz, hogy a kívánt elrendezést működik, akkor setContentView () metódust a felhasználói felületen. halad, hogy az erőforrás-azonosítót az elrendezést. Azonban akkor is létrehozhat egy új nézet a kódját működés és rangsorolja a nézetek. Ehhez helyezze a View ViewGroup. majd ezt az elrendezést úgy, hogy a gyökér tárgy ViewGroup setContentView () metódust.
További részletek az egy felhasználói felület, lásd. Cikk UI.
Ahhoz, hogy az operációs rendszer volt elérhető, addig be kell jelenteni a nyilvánvaló fájlt. Ehhez nyissa meg a fájlt és adjon hozzá egy elemet lt; activitygt; mint a gyermek eleme lt; applicationgt;. Például:
A szűrők használata szándékok
elem lt; actiongt; rámutat arra, hogy ez a „fő” belépési pont a kérelmet. elem lt; categorygt; Ez azt jelzi, hogy a művelet meg kell határozni az alkalmazás indító rendszer (így a felhasználók futtatni ezt a műveletet).
Azonban, ha kell válaszolnia a művelet implicit szándék kapott más alkalmazások (csakúgy, mint az alkalmazás), a művelet meghatározására van szükség további szándék szűrőket. Minden cél kell legyen, amelyhez szeretne válaszolni, meg kell adnia az objektum lt; szándék-filtergt;. elem, amely tartalmaz lt; actiongt; és opcionális elem lt; categorygt; vagy lt; datagt; (Vagy mindkettő elemek). Ezek határozzák meg, hogy milyen típusú szándékok, a műveletet tud válaszolni erre.
További információ arról, hogyan műveleteket tud válaszolni a szándékkal, cikkben megadott szándékok és szándékok szűrőket.
Kezdeményezése a művelet
Hogy egy másik művelet elég okoz startActivity () metódust. átadva az Intent objektum. amely leírja kiváltott működését. A szándék jelzi vagy pontos működése futni, vagy leírja az üzemeltetés típusát végrehajtani kívánt (amely után a rendszer kiválasztja az Ön számára a megfelelő működés, ami lehet akár egy másik alkalmazás). A szándék is tartalmazhatnak kis mennyiségű adat, hogy fogja használni a futó műveletet.
Amikor dolgozik a saját alkalmazását gyakran kell csak futtatni a kívánt műveletet. Ehhez létre kell hozni egy tervet, amely egyértelműen meghatározza a kívánt műveletet az osztály nevét. Az alábbiakban egy példát egy indítási művelet különbözik a művelet nevét SignInActivity.
Azonban az alkalmazás lehet, hogy valamilyen műveletet végeznek, mint a küldő e-mail, SMS vagy állapotfrissítését adatait felhasználva, az üzemeltetést. Ebben az esetben az alkalmazás hiányozhat az ilyen akciók, így használhatja a műveletek egyéb alkalmazás elérhető az eszköz, amely képes végezni a szükséges intézkedéseket. Csak ebben az esetben az a szándék, különösen hasznos -, akkor hozzon létre egy tervet, amely leírja a szükséges intézkedést, amely után a rendszer elindul, hogy egy másik alkalmazás. Ha több művelet, amely képes kezelni a szándék, a felhasználó választhat, hogy melyiket használja. Például, ha a felhasználói igények, hogy a képesség, hogy küldjön egy e-mailt, akkor hozza létre a következő szándék:
A művelet megkezdése a kívánt eredmény
Bizonyos esetekben az indulás után a művelet lehet, hogy kap egy eredményt. Ehhez hívja startActivityForResult () metódus (ahelyett startActivity ()). Annak érdekében, hogy az eredmény elvégzése után egy következő művelet végrehajtása visszahívási eljárás onActivityResult (). Az adagolás befejezése után a későbbi műveletek, visszatér az eredményt a tárgy a Intent-indukált onActivityResult () módszer.
Például a felhasználó kéri, hogy válasszon egyet a kapcsolatokat az üzemeltetés is, hogy bizonyos intézkedéseket a tájékoztatás a kapcsolatot. Az alábbiakban egy példát: létrehozunk ilyen szándék és a feldolgozás eredményét.
Ez a példa bemutatja az alapvető logikai esetén követendő eljárás alkalmazásával onActivityResult () feldolgozza a működésének eredményeként. Az első feltétel ellenőrzi, hogy a lekérdezés sikeres, és ha ez sikerül, az eredmény az lesz, hogy resultCode RESULT_OK; továbbá ellenőrzi, hogy a kérelem ismert, amely ezt az eredményt kapjuk, és ebben az esetben requestCode megfelel egy második paraméter küldött startActivityForResult () metódust. Ott kódot feldolgozza a művelet eredményét az adatkérés visszatért a szándék (az adatok beállítás).
Így ContentResolver kérelmet intéz a tartalom szolgáltató, amely visszaadja a kurzor objektumot. nyújtó olvasata a kért adatokat. További információk cikkben bemutatott tartalomszolgáltatók.
További információ felhasználásával szándék, lásd. Cikk szándék és szándékok szűrőket.
A tranzakció lezárása
A művelet befejezéséhez elég okoz finish () metódust. Továbbá, a teljes külön művelet korábban megkezdett okozhat finishActivity () metódust.
Megjegyzés. A legtöbb esetben, akkor nem kifejezetten megszünteti a működését ezen módszerek alkalmazásával. Amint azt a következő részben kezelésével életciklusa műveletek, Android rendszer által végrehajtott ellenőrzés az Ön számára, így nem kell kitöltenie a saját működését. Calling ezek a módszerek befolyásolhatják a várható viselkedését a kérelmet. Úgy kell használni, csak akkor, ha egyáltalán nem szeretné, hogy a felhasználó jöjjön vissza ebben az esetben a művelet.
Életciklus menedzsment műveletek
Életciklus menedzsment műveletek végrehajtása visszahívási módszer fontos a fejlesztés megbízható és rugalmasan alkalmazható. A szokásos működési ciklus közvetlenül érintik kommunikációt más műveletek, céljai és verem átmenetek vissza.
Már csak három állam működése:
Folytatva műveletet végzünk az előtérben a képernyőn, és megjelenik a felhasználó. (Ez a feltétel is nevezik „folyamatban”.) Felfüggesztett előtér egyéb műveletek elvégzésére, ami megjelenik a felhasználó számára, de a művelet még nem rejtett. Ez a tetején az aktuális műveletet megjelenik, más műveletet, részben átlátszó vagy nem foglalja el a teljes képernyőt. Felfüggesztése műveletek teljesen aktív (aktív objektum még mindig a memóriában, akkor megtartja az összes információt a státusz és információk az elemeket, és ez is marad társított ablakkezelő), de abban az esetben, akut hiány a memória rendszer kiegészítésére. Működés teljesen leállt átlapolt másik művelet (most fut a háttérben). Megállt művelet továbbra is aktív (aktív objektum még mindig a memóriában, akkor megtartja az összes információt a státusz és információk az elemeket, de az objektum nem kapcsolódik egy ablakkezelő több). A művelet azonban már nem látható a felhasználó számára, és ha a memória hiánya rendszer kiegészítésére.
Ha a művelet szünetel, vagy teljesen leállt, a rendszer megtisztítsuk a memóriából a művelet befejezését önmagában (via kivitelben () módszer), vagy egyszerűen, hogy befejezze a folyamatot. Abban az esetben, újbóli megnyitása műveletek (befejezése után), ez szükséges, hogy hozzon létre egy teljesen.
A végrehajtás hívások életciklus
Amikor kapcsolási művelet egyik állapotból a másikba a fenti, bejelentő keresztül végrehajtott különböző visszahívási módszerekkel. Minden módszer visszahívási kötések hogy felübírálható elvégzéséhez megfelelő intézkedéseket, ha az állam működését. Az említett alsó bázis lépés magában foglalja az egyes alapvető módszereit életciklus.
Megjegyzés. Végrehajtása során a módszer mindig hívja a superclass végrehajtása életciklus végrehajtása előtt minden olyan intézkedés, amint az a fenti példákban.
Azonban ezek a módszerek meghatározására a teljes életciklusa alatt működik. A végrehajtó ezek a technikák nyomon három, egymásba ágyazott hurkok életciklusában műveletek:
- A teljes életciklusát művelet között történik a hívás eljárás onCreate () metódus hívás és onDestroy (). A művelet kell állítanunk egy „globális” állapot (például az elrendezés definíció) a módszer onCreate (). majd engedje összes többi onDestroy () források. Például, ha a művelet van egy áramlás, amely a háttérben fut, az adatok letöltése a hálózaton keresztül, a művelet egy ilyen áramlás onCreate () metódust. majd állítsa le a onDestroy () módszer.
Látható életciklusa művelet történik a hívások között onStart () és onStop (). Az alatt az idő alatt jelenik meg a képernyőn, ahol a felhasználó kölcsönhatásba léphet vele. Például onStop () metódus, amikor egy új művelet elindításakor, és a jelenlegi már nem jelenik meg. Az intervallum hívások között e két módszer mentheti szükséges forrásokat a kijelző működése a felhasználó számára. Például, akkor regisztráljon BroadcastReceiver tárgy onStart () metódus a változások nyomon követése érintő felhasználói felületet, majd unregister onStop () metódust. ha a felhasználó nem látja a kijelzőn. Az egész életciklusa működését, a rendszer többször metódusokat onStart () és onStop (). mert a művelet megjelenik a felhasználó számára, hogy el van rejtve tőle.
Az életciklus végrehajtott műveletek az előtérben. Ez akkor fordul elő hívások között onResume () és onPause (). Ez idő alatt, a művelet a háttérben minden más tevékenység, és megjelenik a felhasználó számára. A művelet gyakran lehet menni a háttérben, és kilép belőle - például onPause () metódus, ha a készülék alvó üzemmódban van, vagy ha a párbeszédablak. Mivel az átmenet az állapotban végezhető elég gyakran, a kód a két módszert kell könnyen elkerülhető a lassú átmenet, és így a felhasználó várakozás.
1. ábra szemlélteti a részeket, és útvonalakat, hogy tud hatolni az állapotok között. Téglalapok jelölik visszahívás módszereket lehet végrehajtani a műveleteket végeznek közötti átmenet egyik állapotból a másikba.
1. ábra Az életciklus működését.
Ugyanezeket az eljárásokat életciklus vannak az 1. táblázatban felsorolt, ahol mindegyik módszert részletesen ismertetjük visszahívási és jelzett életciklusa művelet egésze, ideértve a tájékoztatást, hogy a rendszer képes befejezni a műveletet teljessé visszahívási módszerrel.
1. táblázat információt visszahívási műveletet teljes életciklusa alatt.
Ez az osztály megköveteli API vagy annál magasabb szinten
Ez doc rejtett, mert a kiválasztott API szinten a dokumentáció. Meg lehet változtatni a dokumentáció API szinten a választó felett a bal oldali navigációs.
További információ a meghatározó az API szint az alkalmazás megköveteli, olvassa támogatása Különböző Platform változatok.