Új hozzászólás Aktív témák

  • thon73
    tag

    Oké, String ügyben meggyőztetek! :K

    Azt szeretném kérdezni, hogy Service-ben lehetséges egy text fájlot letölteni az internetről? Egy ideje szenvedek vele, úgy vettem észre hogy a Service gyengébb még az UI-nál is a terhelhetőséget illetőleg, még a bevállt

    private class MyTask extends AsyncTask<Void, Void, Void> {

    sem megy :((

    Esetleg lenne egy vállalkozó szellemű köztetek, akit ha megfizetek, megír egy olyan programot, ami Service-ben fél percenként megvizsgál egy interneten lévő text fájlot, és ha változás van, lejátszik egy hangot. A program akkor is működne, ha a programot bezárom, pont úgy ahogy a facebook messenger vagy a Skype (tehát látszólag meg sincs nyitva semmi, mégis megy). Én meg utalok mondjuk a PayPal-en vagy simán bankon keresztül. Én meg az így kapott forráskódból tanulnák, mert egyedül sajnos nagyon nehezen megy.

    Üdv: Domel

    Hát én pont azért kezdtem el (újra) programozni, mert nem találtam senkit, aki helyettem - pénzért - megcsinálja. Egyébként meg igen drága.

    Fel a fejjel! Fog az menni, csak legyél türelmetes! :K

    A világ legelvarázsoltabb service-vel játszom egy ideje, a billentyűzetvezérlővel, úgyhogy az android csavarjait nekem nem kell bemutatni. A jó hír: megy benne a háttérszál! A rossz: az asynctask még a service-nél is hülyébb állatfaj.
    EZT olvasd végig, ha gondolod. Régi, de segíteni fog az asynctask megértésében. Elküldöm a készülő kódot is szívesen, de kicsit nagyra nőtt, nehéz benne bogarászni.

    A lényeg:
    A Service megvalósít egy Listener-t, amin keresztül az AsyncTask tudja jelezni az eredményt.
    Ezt a Listener-t az AsyncTask konstruktorában adom át, vagyis magát a service-t.
    A Service meghívja .execute-tal az AsyncTask-ot, de a sikeres lefutást már a Listener-ben meghatározott metódusok kezelik le, amiket az AsyncTask onPostExecute metódusa hív meg.
    Ez a szűk lényeg, mert az Asynctask előnye, hogy látod, hogy hol tart; ad visszajelzést a hibáról; és persze meg lehet szakítani. Épp csak ezeket is mind fel kell programozni, bár a terep elő van készítve.

    Internetet még nem használtam (mármint közvetlenül a programból), de az biztos, hogy az UI szál erre tiltott. Azt, hogy pontosan milyen módon teszed háttérbe a feladatot (AsyncTask, Loader, Service, Thread stb.) mérlegelni kell, de az AsyncTask-ot mindenképp érdemes behatóan ismerni.

Új hozzászólás Aktív témák