IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

6. diel - Android programovanie - Dokončenie implementácia kalkulačky

V minulej lekcii, Android programovanie - Implementácia Java kódu kalkulačky , sme rozpísali triedu reprezentujúci jednoduchú kalkulačku. V dnešnom tutoriále aplikácii dokončíme a nahráme ju do telefónu.

Metódy operácií

Do triedy dodáme aj ďalšie zvyšné metódy. Tie budú mať rovnaký princíp. Uloží do privátnej premennej c1 číslo na obrazovke a metódu (číslo 1 - 4). Tiež nastaví potrebné riadiace premenné.

Sčítame ()

public void secti(View v) {
    c1 = Double.parseDouble(obraz.getText().toString());

    metoda = 1;
    obraz.setText("0");
    prosel = false;
    c1Nastaven = true;

    cislo1.setText(String.valueOf(c1));
    operace.setText("+");
}

Odpočtu ()

public void odecti(View v) {
    c1 = Double.parseDouble(obraz.getText().toString());

    metoda = 2;
    obraz.setText("0");
    prosel = false;
    c1Nastaven = true;

    cislo1.setText(String.valueOf(c1));
    operace.setText("-");
}

Vynásobte ()

public void vynasob(View V) {
    c1 = Double.parseDouble(obraz.getText().toString());

    metoda = 3;
    obraz.setText("0");
    prosel = false;
    c1Nastaven = true;

    cislo1.setText(String.valueOf(c1));
    operace.setText("*");
}

Vydeľte ()

public void vydel(View V) {
    c1 = Double.parseDouble(obraz.getText().toString());

    metoda = 4;
    obraz.setText("0");
    prosel = false;
    c1Nastaven = true;

    cislo1.setText(String.valueOf(c1));
    operace.setText("/");
}

Metóda na výpočet

Konečne dodáme aj metódu vypocti(). Ak sa metóda nerovná 5, znamená to, že je nastavená a dajú načítať do pamäte c2. Podľa toho, o akú metódu sa jedná, sa vykoná patričná operácie pomocou konštrukcie switch. Pri delení vznikajú dlhé reťazce čísel, preto je potrebné po počítanie zistiť, na akom mieste je desatinná čiarka a podľa toho zaokrúhliť.

public void vypocti(View v) {
    if (c1Nastaven) {
        if (metoda != 5) {
            c2 = Double.parseDouble(obraz.getText().toString());
            cislo2.setText(String.valueOf(c2));
        }
        switch (metoda) {
            case 1: {
                vys = c1 + c2;
                metoda = 5;
                break;
            }

            case 2: {
                vys = c1 - c2;
                metoda = 5;
                break;
            }

            case 3: {
                vys = c1 * c2;
                metoda = 5;
                break;
            }

            case 4: {

                if (c2 != 0) {
                    vys = c1 / c2;
                    metoda = 5;
                    break;
                } else {
                    Toast.makeText(this, "Nelze dělit nulou!", Toast.LENGTH_LONG).show();
                    vymazVse(v);
                    break;
                }
            }
            case 5: {
                break;
            }
        }

        if (vys == 0) {
            obraz.setText("0");
        } else {
            DecimalFormat df = new DecimalFormat("#.########");
            String vysl = df.format(vys);
            vysl = vysl.replace(",", ".");

            int poz = vysl.indexOf(".");
            if (poz >= 8) {
                Toast.makeText(this, "Byl překročen limit 9 čísel", Toast.LENGTH_LONG).show();
                vymazVse(v);
                return;
            }

            if (vysl.length() >= 10) {
                String substring = vysl.substring(0, 9);
                obraz.setText(substring);
                return;
            } else {
                obraz.setText(vysl);
            }

            c1Nastaven = false;
            prosel = false;
        }
    }
}

Aplikácia je hotová. Prejdime k vygenerovaniu .apk súboru, aby sme ju mohli vyskúšať.

Vygenerovanie .apk súboru

vygenerovanie APK - Programovanie Android aplikácií v Jave

Po kliknutí na Generate Signed APK (viz. Obrázok vyššie) sa nám zobrazí tabuľka, v ktorej klikneme na vytvorenie nového kľúča a vyplníme tabuľku. Môže to vyzerať takto:

vytvorenie kľúča - Programovanie Android aplikácií v Jave

Teraz zvolíme OK a máme vytvorený náš prvý kľúč. V predchádzajúcej tabuľke k nemu nastavíme cestu a vyplníme požadované údaje:

Potvrdenie vygenerovanie APK - Programovanie Android aplikácií v Jave

Po potvrdení stačí akurát vybrať cestu, kam sa má naša .apk aplikácie vygenerovať. Po vygenerovaní v Android Studio vyskočí ponuka s možnosťou "show in explorer".

Testovanie

Vďaka priebežnému testovanie pri vývoji tejto aplikácie som odhalil niekoľko nežiaducich problémov, ako zobrazovanie čísla x.0 kvôli dátovému typu, ďalej zaokrúhľovanie na potrebný počet desatinných miest alebo zapísanie -0. Tiež sa ukázal problém, pri prepisovanie výsledkov, ktoré majú 9 znakov, preto som musel upraviť podmienky v metóde pre zápis čísla.

Testovať môžeme buď na emulátora alebo na reálnych zariadeniach. Návod pre inštaláciu najlepšieho možného emulátora je v tutoriálu Android programovanie - Vývojové prostredie v kapitole Inštalácia Android Studia, podkapitola Emulátor.

Ja však odporúčam z vlastnej skúsenosti testovania na reálnych zariadeniach.

Testovanie aplikácií na reálnom zariadení

V mobilnom zariadení musíme sprístupniť možnosti vývojárov. Väčšinou sa to robí v nastavení záložke "Všeobecné" tým, že prejdeme do "Informácie o telefóne" a vyberieme "Softvérové informácie". Ďalej len 10x klikneme na ponuku "Číslo zostavenie". Po chvíli sa objaví hláška, že ste sa stali vývojárom a v nastavení v karte Všeobecné pribudne ponuka "Možnosti vývojárov".

Android možnosti vývojárov - Programovanie Android aplikácií v Jave

Teraz prepojíme USB káblom s PC, zapneme "Možnosti vývojárov" a povolíme Ladenie USB. Odporúčam nechať nainštalovať kompletný balíček SW pre dané zariadenie. Potom potvrdíme dialógové okno, ktoré v mobilnom zariadení vyskočí. Teraz môžeme dať v Android Studio Run (zelená šípka alebo Shift + F10).

RunApp - Programovanie Android aplikácií v Jave

Okno s ponukou dostupných zariadení potvrdíme a za pár chvíľ sa naša aplikácia rozbehne na telefóne. O všetkom čo sa v aplikácii deje nás informuje Android DDMS.

Kompletné Java kód vrátane jednotlivých XML súborov máte v prílohe.

V budúcej lekcii, Android programovanie - Welcome screen animácie kalkulačky , si ukážeme, ako vytvoriť jednoduchú úvodnú animáciu.


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 1663x (22.69 MB)
Aplikácia je vrátane zdrojových kódov v jazyku Android Java

 

Predchádzajúci článok
Android programovanie - Implementácia Java kódu kalkulačky
Všetky články v sekcii
Programovanie Android aplikácií v Jave
Preskočiť článok
(neodporúčame)
Android programovanie - Welcome screen animácie kalkulačky
Článok pre vás napísal Jiří Frank
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje programování v C# a vývoji aplikací pro platformu Android a dalším věcem spojeným s Android OS
Aktivity