Hirdetés
Ú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
- Allegro vélemények - tapasztalatok
- BMW topik
- The Division 2 (PC, XO, PS4)
- Horgász topik
- Bambu Lab 3D nyomtatók
- Apple MacBook
- Hordozható Linux terminál billentyűzettel és érintőképernyővel
- iOS alkalmazások
- A fociról könnyedén, egy baráti társaságban
- Kerékpárosok, bringások ide!
- További aktív témák...
- Dell Precision 7720,17.3",FHD,i7-7820HQ,16GB DDR4,256GB SSD,P3000 6GB VGA,WIN11
- Dell Optiplex 3050 8GB/240SSD/WIN11
- Dell Latitude 5411,14",FHD,i7-10850H,16GB DDR4,512GB SSD,2GB VGA,WIN11,ÚJ AKKU
- Dell Latitude 5480 gyors üzleti notebook magyar billentyűvel i5/8GB/240GB/WIN11 1 év garancia
- PlayStation 5 Standard Edition megkímélt, megbízható darab + 3 játék
- iPhone 17 White 256 GB - Bontatlan !! www.stylebolt.hu - Apple eszközök és tartozékok - Számlás
- Steelseries Arctis Gamebuds (Playstation) Gamer vezeték nélküli fülhallgató
- Eladó jogtiszta, Windows 11/10, Office 2019/2021/2024, Fizikai és Digitális licencek, Számlával.
- Apple iPhone 16 Pro 128GB Black Titanium Karcmentes állapot 91% akkumulátor
- HP EliteBook 840 G7 i5-10210U 16GB 512GB FHD 400nit 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

