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

  • vlevi
    nagyúr

    Van egy klassz keyboard-om, ami alapvetően egy service. Ehhez készítettem egy preferences-t. Néhány esetben azonban a preferencesnek (Activity) meg kéne hívni a Service-t, hogy figyelmeztesse a változásra.
    Erre szolgálna a bind, ha minden igaz.

    Olvastam viszont egy ötletet: [How to have Android Service communicate with Activity], mely szerint a service, mint singleton készít magáról egy static módon hozzáférhető referenciát. Vagyis: lesz egy Service getInstance() metódusom, ami vagy a futó a service-t, vagy null-t ad vissza.

    Nekem szimpatikus az ötlet, ráadásul kb. két sorból megoldható. De mégis van valami "rossz érzésem" vele kapcsolatban. Minek csinálták a bind-et, ha ez ilyen egyszerű? Hibára azonban nem jöttem rá, a hozzászólást meg elfogadták.

    Véleményetek szerint szabad ezt így használni?

    ((apropó, akkor itt is javítsam a PreferenceFragment-et PreferenceFragmentCompat-ra?))

    Ez az intent service. Amit mindentől fuggetlenul el lehet inditani, és fut a háttérben, nem kapcsolódiksemmihez. A servixenek saját magának kell leállnia, ha ninxs rá szükség. De tud üzenni más activitynek.
    Én pl ezzel oldottam meg azt, hogy az applikqaciobol kilepve elinditok egy servicet, ami backupot készít, ha szukseges, es utana leallitja magat.
    A bindservice arra valo, hogy akkor megy, amikor valami hozzakapcsolodik( ez a bind). És leáll automatikusan, ha mindenki lekapcaolodott rola (unbind). Például pont emiatt nem jó az appbol kilepeskori backupra, ugye, mert az app bezaraskor kéne inditani.
    A harmadik service a legegyszerubb fajta, ami csak az appon belul fut, nem indithato külön. De appon belöli apróságokhoz meg pont az a jó.

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