Hirdetés
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Philips AWP9820 (vízlágyító) Calgon helyett?
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- eldiablo: 30 év után szakítottunk, de azért még beszélünk...
- gban: Ingyen kellene, de tegnapra
- Dr. Mózes: Lakberendezési tanácskérés
- Toomy: FOXPOST: régen jó volt, de már jobban jársz, ha elfelejted
Új hozzászólás Aktív témák
-
thon73
tag
válasz
pittbaba
#522
üzenetére
Bocs, közben lemaradtam egy válaszról, de amit írtam, továbbra is érvényes.
Ennyire sztem. nem egyszerű. A doInBackground fut egyedül háttérszálon, ez tud egy értéket (melynek típusa beállítható pl. String) átadni, a már nem háttérszálon futó onPostExecute-nek. De ezt az értéket a fő szál csak úgy magától nem fogja megkapni.
Ugyanakkor a megkötés CSAK az UI elemekre vonatkozik, tehát pl. osztályváltozók a háttérszálról is irhatóak (amennyire tudom, a teljes Application (és szálai) egy heap-en helyezkednek el). A fondorlat abban van, hogy az AsyncTask osztály és a hívó Activity nem feltétlenül létezik ugyanabban az időpillanatban! Az érték átadásakor ezt figyelni kell, ez a legnagyobb buktató!
Ha egyszer elindul, akkor az AsyncTask osztály létezni fog addig, amíg fut v. hivatkozunk rá. Akkor is, ha a háttérszál befejeződött. Így az tűnik a legjobbnak, ha az eredményt egy AsyncTask osztályváltozó tartalmazza, és abból olvassa ki a hívó Activity. A nagy kérdés az, hogy miként értesül a fő Activity arról, hogy futás befejeződött. Ehhez be kell építeni egy Handlert, de akkor kérdéses, hogy érdemes-e AsyncTask-ot használni. Vagy: az AsyncTask get metódusa várakozik, amíg be nem fejeződik a futás. Ezt még nem próbáltam, kérdés, h. ez nem jelenti-e a fő szál leállítását (sztem igen). És akkor még mindig fel kell készíteni arra a fő activity-t, hogy pl. a kép elfordítása során újraindul, mégis ellenőrizze le, nem áll-e rendelkezésre egy kész AsyncTask eredmény.
((Az AsyncTask-kal kapcsolatos tapasztalatokról - mivel elsőre én sem értettem miként működik - írtam egy hosszabb cikket: [link]. Felmerült bennem a kérdés, hogy egyáltalán van-e valami előnye más megoldásokhoz képest.))
Új hozzászólás Aktív témák
Hirdetés
- Megjöttek Magyarországra a Redmi Note 15-ök, január 22-től ennyiért kaphatók
- TCL LCD és LED TV-k
- AliExpress tapasztalatok
- Székesfehérvár és környéke adok-veszek-beszélgetek
- sziku69: Szólánc.
- Interactive Brokers társalgó
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Samsung Galaxy A56 - megbízható középszerűség
- Suzuki topik
- Assassin's Creed: Valhalla
- További aktív témák...
- Samsung Galaxy A04s / 4/64GB / Kártyafüggetlen / 12Hó Garancia
- Akció! HP ZBook Firefly 14 i7-1185G7 32GB 512GB Nvidia Quadro T500 4GB 14" FHD 1 év garancia
- 186 - Lenovo Legion 5 (15IRX10) - Intel Core i7-13650HX, RTX 5070
- Telefon felvásárlás!! Apple iPhone 16, Apple iPhone 16e, Apple iPhone 16 Plus, Apple iPhone 16 Pro
- LG 34WQ75X-B - 34" Ívelt IPS Panel - 3440x1440 2K QHD - 60Hz 5ms - FreeSync - USB Type-C 90W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

