Hirdetés

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

  • Karma
    félisten

    Köszönöm! Akkor nekiállok bogozgatni... :)

    Ezek szerint minden egyes lépés más és más, egymástól távol eső kódba kerül, ráadásul közöttük még az egész hóbelevanc újra is indulhat.
    Végső soron akkor ezek között a részek között a file Uri-t kell körbe-körbe küldözgetnem. Abból le tudom vágni a nevet, a path-ot, az external drive-ot is (mármint ez utóbbit akkor, ha nem kell).
    ((Hogy teljes legyen a boldogságom, a MainActivity már most is négy "beszélgetős" funkciót tartalmaz, és közülük az import a legegyszerűbb...))

    Kicsit égnek áll a nem létező hajam, de majd kifésülöm (legalább a kódot) :K Köszönöm!

    Hát, ha csak annyiról lenne szó, mint amit az eredeti hozzászólásban felvázoltál, akkor nem lenne egy annyira bonyolult helyzet. Én ebből indultam ki.

    A MainActivitynek abban csak három állapota van: üresjárat, file selectorra vár, dialógusra vár. Az állapotok között lehet egyet előre meg hátra lépni, illetve dialógusnál üresjáratban ugrani. A callbackek miatt még csak tárolnod se kell az aktuális állapotot, hiszen teljesen implicit a rendszer szempontjából (lásd: melyik Activity/Dialog van elől). Az állapotátmenetek meg simán leírhatóak a callbackekben, és még csak nem is spagetti, mivel a két bekérés két külön helyre fut be.

    Viszont onnantól, hogy mint mondtad, négy beszélgetős "szál" is van, ezeket ki kéne szervezni külön osztályba. Például csinálhatnál egy olyat, ami kapna egy Contextet, implementálná a résztvevő interfészeket, és csak az adott szálat írná le. A végén meg visszajelez, hogy siker (és átadja az URL-t is), vagy hogy cancelezett mindent a felhasználó, és a MainActivity csak ezzel foglalkozna.

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