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
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:
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:
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".
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).
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é 1675x (22.69 MB)
Aplikácia je vrátane zdrojových kódov v jazyku Android Java