- Xiaomi 15T Pro - a téma nincs lezárva
- Xiaomi 17 Ultra - jó az optikája
- Realme GT Master Edition - mestermunka
- MWC 2026: Meglepően jó áron jön a kicsi, de erős, illetve a nagy és fotós Xiaomi
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Európába tart a Xiaomi Watch 5, eSIM-es verzió is jöhet
- iPhone topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Fotók, videók mobillal
- Samsung Galaxy S24 - nos, Exynos
Ú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
- Samsung Galaxy Tab A9+ 128GB,Újszerű,Dobozaval,12 hónap garanciával
- Samsung Galaxy Tab S6 lite 64GB,Átlagos,Adatkabel,12 hónap garanciával
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Corsair 32GB KIT DDR4 4600MHz CL18 Vengeance RGB RT - 12 hónap garancia
- Apple iPhone 14 Plus 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple MacBook Air 13 (2020) M1 8GB/256GB használt, megkímélt 85% akku (258 ciklus)
- Samsung Galaxy Z Flip6 12/512GB - ÚJSZERŰ, Kártyafüggetlen, Kék - 1 év garancia
- Eladó egy Huawei GT3 okos óra Dobozzal tőltővel
- REFURBISHED - DELL Docking Station WD19, WD19S + 130W, 180W töltővel
- iPhone 12 Pro Max 256GB Mobiltelefon
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

