Hirdetés

Keresés

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

  • bandi0000
    nagyúr

    Hát igen, össze vissza alakulnak ki a dolgok, nem lehet mindig lépésről lépésre haladni.
    Sokszor kell visszamenni, átdolgozni,kipróbálni más megoldást is... Korábban is így boldogultam, csak talán egyszerűbb volt az az eszköz, meg nem voltak olyan berögződött elképzeléseim mint most.

    Végül kipróbáltam a ViewModeles megoldást is.

    Az initjébe betettem a lekérdezést így :
    init {
    var setup: Setup? = null
    try {
    viewModelScope.launch(Dispatchers.IO) {
    setup = AppDatabase.getInstance(mycontext).gradeDao().getsetup()
    if (setup != null) {
    this.pnSounds = setup!!.voice
    this.pnBuzz = setup!!.buzzer
    this.ActualMatrix = setup!!.matrix
    this.ActualLevel = setup!!.level
    }
    }
    } catch (e: Exception) {
    Log.e("loadSetup hiba", e.message!!)
    }


    }

    És így jó. Így is csak a viewModelScope.launch(Dispatchers.IO) megoldással megy.

    A lifecycleScope nem tudom miből jönne (**), nem tudtam beimportolni sehogy. De a scope és launch szavak alapján a

    LifecycleCoroutineScope.launch() -ot
    meg ezt a
    viewModelScope.launch() -ot találtam. Utóbbit választottam, mert nem kért importot és maradt is mert így működik.

    (**)
    Ezeket az alábbi Gradle sorokat beletettem, de sehogy sem akarta...
    def lifecycle_version = "2.2.0"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"

    Köszi a tippet.

    1 fokkal jobb, a lifecycleScope az az Activity-ben van, mert korábban az onCreate fv-t emlegetted, és ott ezzel tudnál suspend fun-t hívni/futtatni

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