1. Здраво и добредојдовте на форумот на IT.mk.

    Доколку сеуште не сте дел од најголемата заедница на ИТ професионалци и ентузијасти во Македонија, можете бесплатно да се - процесот нема да ви одземе повеќе од 2-3 минути, а за полесна регистрација овозможивме и регистрирање со Facebook и Steam.
    Сокриј

Помош со Kotlin

Дискусија во форумот 'Програмирање на мобилни платформи' започната од 100JKO, 17 Јули 2019.

  1. 100JKO

    100JKO
    Gaining Experience

    33
    92
    27 Јуни 2018
    Машко
    Intern
    Здраво.

    Имам направено систем за логирање кој работи, но иако е точна лозинката ја покажува порака за грешка и продолжува апликацијата. Ако може некој да помогне, фала однапред.

    Код:
    val pws = arrayOf("pass1", "pass2")
    
    fun proverka(text1:String, text2:String) {
        try {
            for(lozinka in pws) {
                if(text1 == "korisnik" && lozinka == text2) {
                    val intent = Intent(this, MainActivity::class.java)
                    startActivity(intent)
                } else {
                    errorInput.visibility = View.VISIBLE;
                    editText.setText("")
                }
            }
        } catch(e : Exception) {
            return
        }
    }
    
     
  2. JensenInterceptor

    JensenInterceptor
    Gaining Experience

    561
    215
    28 ноември 2015
    Машко
    Не знам Котлин како работи, но од логика, имам едно прашање. Се ти е инициализирано како што треба?

    Ова класа ли е? Ако може кодот на класата да го видиме.

    А демек само еден Intent објект треба да се покрене?

    А ако двете лозинки се исти, два Intent објекти треба да се створат во меморија?
     
  3. mmarko

    mmarko
    Gaining Experience

    80
    52
    1 Март 2013
    Машко
    И јас не знам Котлин, ама колку што гледам со фор циклусот ги испробуваш сите лозинки во низата, па за тие што не се точни ти дава порака за грешка, а за точната си проаѓа.

    Таа порака за грешка најверојатно би требало да ти биде после фор циклусот, ако ниту една од лозинките во низата не е точна.
     
    На 100JKO му/ѝ се допаѓа ова.
  4. JensenInterceptor

    JensenInterceptor
    Gaining Experience

    561
    215
    28 ноември 2015
    Машко
    Би можел да направиш помошна функција што го врти циклусот со лозинките и враќа булеан вредност, уствари, дали е внесена точна лозинка.
    Оваа помошна функција ќе ја искористиш во конструктор или каде и да треба, и ако врати точно(true), тек тогаш да повикаш

    Код:
    val intent = Intent(this, MainActivity::class.java)
    startActivity(intent)
    
    Нешто вака можеби:

    Код:
    val pws = arrayOf("pass1", "pass2")
    
    fun proverka(text1:String, text2:String) {
        val bool ishod; // kako i da se pravi promenliva vo Kotlin
         // mislam deka ne ti treba try/catch tuka.
            for(lozinka in pws) {
                if(text1 == "korisnik" && lozinka == text2) {
                    ishod = true;
                } else {
                    ishod = false;
                }
            }
     
        return ishod;
    }
    
    fun startMyActivity()
    {
        try {
            // vnesenaLozinka treba da ja dobiesh od negde, od tastatura ili da ja zakucash nekade.
            if(proverka("korisnik", vnesenaLozinka)) {
                val intent = Intent(this, MainActivity::class.java)
                startActivity(intent)
            } else {
                Console.Writeline("Netochna lozinka!")// kako i da se pechati vo konzola, ili drug izlez.
            }
        } catch(e : Exception) {
            Console.Writeline("Greshka pri logiranje: " + e.Message)// kako i da se pechati vo konzola, ili drug izlez.
        }
    }
    
     
    Последна промена: 17 Јули 2019
    На 100JKO му/ѝ се допаѓа ова.
  5. mmarko

    mmarko
    Gaining Experience

    80
    52
    1 Март 2013
    Машко
    Ова би вратило true/false ако внесената лозинка е иста со последната во низата (pass2 во случајов). Ако е точна лозинката може веднаш true да се врати. Нешто вака:

    Код:
    fun proverka(text1:String, text2:String) {
        for(lozinka in pws) {
            if(text1 == "korisnik" && lozinka == text2) {
                return true;
            }
        }
        return false;
    }
    Ако ја разбрав добро идејата со лозинкиве. Значи може да има n различни лозинки и секој корисник може да се најави со било која од нив? Малку е чудно тоа, ама претпоставувам ова е само вежба...
     
    На 100JKO му/ѝ се допаѓа ова.
  6. 100JKO

    100JKO
    Gaining Experience

    33
    92
    27 Јуни 2018
    Машко
    Intern
    Средено! :hay:

    Решение(изменето од @mmarko)
    Код:
    fun proverka(pwtext:String): Boolean {
        for(lozinka in pws) {
            if(pwtext == lozinka)
                return true
        }
        return false
    }
    
    fun pochni(text1:String, text2:String) {
        try {
            if(text1 == "korisnik" && proverka(text2)) {
                val intent = Intent(this, MainActivity::class.java)
                startActivity(intent)
            } else {
                errorInput.visibility = View.VISIBLE;
                editText.setText("")
            }
        } catch(e : Exception) {
            errorOutput.visibility = View.VISIBLE;
        }
    }
    
     
    На architect и Fatal1ty_ им се допаѓа ова.
Слични теми
  1. Taurus
    Одговори:
    25
    Прегледи:
    3,102
  2. sonic
    Одговори:
    3
    Прегледи:
    935
  3. Goroner
    Одговори:
    9
    Прегледи:
    894
  4. comakot
    Одговори:
    14
    Прегледи:
    1,043
  5. hemicharot
    Одговори:
    16
    Прегледи:
    708
Вчитување...

Сподели

Вчитување...