BAKALÁŘSKÁ PRÁCE
Výuková aplikace Obrázkové texty pro OS Android
2016
Veronika Vašinová
Vedoucí práce: Mgr. Jiří Zacpal, Ph.D.
Studijní obor: Aplikovaná informatika, prezenční forma
Bibliografické údaje Autor:
Veronika Vašinová
Název práce:
Výuková aplikace Obrázkové texty pro OS Android
Typ práce:
bakalářská práce
Pracoviště:
Katedra informatiky, Přírodovědecká fakulta, Univerzita Palackého v Olomouci
Rok obhajoby:
2016
Studijní obor:
Aplikovaná informatika, prezenční forma
Vedoucí práce:
Mgr. Jiří Zacpal, Ph.D.
Počet stran:
35
Přílohy:
1 CD/DVD
Jazyk práce:
český
Bibliograhic info Author:
Veronika Vašinová
Title:
Learning application Illustrated texts for OS Android
Thesis type:
bachelor thesis
Department:
Department of Computer Science, Faculty of Science, Palacký University Olomouc
Year of defense:
2016
Study field:
Applied Computer Science, full-time form
Supervisor:
Mgr. Jiří Zacpal, Ph.D.
Page count:
35
Supplements:
1 CD/DVD
Thesis language:
Czech
Anotace Cílem práce je vytvořit výukovou aplikaci pro výuku čtení pro osoby s mentálním postižením. Aplikace je určena pro OS Android. Aplikace je vytvářena ve spolupráci s Klíčem, centrem sociálních služeb.
Synopsis Goal of this work is creating educational application for practising reading skills for persons with mental disabilities. Application isintended for OS Android. Application is created in cooperation with Klíč, social services center.
Klíčová slova: android; výukové texty; minihry; vzdělávání Keywords: android; learning texts; minigames; education
Děkuji panu Mgr. Jiřímu Zacpalovi, Ph.D. za odborné vedení bakalářské práce.
Místopřísežně prohlašuji, že jsem celou práci včetně příloh vypracoval/a samostatně a za použití pouze zdrojů citovaných v textu práce a uvedených v seznamu literatury.
datum odevzdání práce
podpis autora
Obsah 1 Úvod 1.1 Mentálně postižení lidé . 1.2 Podobné aplikace . . . . 1.2.1 Výukové texty ČJ 1.2.2 Altíkovy úkoly . 1.2.3 PixWords . . . . 1.2.4 Shrnutí . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
9 9 9 10 10 10 11
2 Použité technologie 2.1 Operační systém Android . . . . 2.1.1 Historie . . . . . . . . . . 2.1.2 Verze systému . . . . . . . 2.1.3 Architektura . . . . . . . . 2.1.4 Základní součásti aplikace 2.2 SQL . . . . . . . . . . . . . . . . 2.3 XML . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
12 12 12 12 12 14 14 14
3 Popis řešení 3.1 Podporované verze OS Android 3.2 Jazykové mutace . . . . . . . . 3.3 Hry . . . . . . . . . . . . . . . . 3.4 Ukládání dat . . . . . . . . . . 3.5 Úprava a přidání dat . . . . . . 3.5.1 Přidání tématu . . . . . 3.5.2 Přidání slova . . . . . . 3.5.3 Přidání věty . . . . . . . 3.5.4 Přidání podtématu . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
16 16 16 16 17 17 17 18 18 18
. . . . . . . . . .
19 19 19 19 20 21 21 22 22 22 23
4 Programátorská příručka 4.1 Struktura projektu . . . 4.2 Rozdělení a popis tříd . 4.2.1 Databáze . . . . 4.2.2 Aktivity . . . . . 4.2.3 Fragmenty . . . . 4.2.4 Dialogy . . . . . 4.2.5 Adaptéry . . . . 4.2.6 Datové třídy . . . 4.2.7 Komponenty . . . 4.2.8 Obrázky a ikony
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
5
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
5 Uživatelská příručka 5.1 Požadavky aplikace . . . . . . . 5.2 Instalace a spuštění . . . . . . . 5.3 Uživatelské prostředí . . . . . . 5.3.1 Úvodní obrazovka . . . . 5.3.2 Hlavní nabídka . . . . . 5.3.3 Hry . . . . . . . . . . . . 5.3.3.1 Herní prostředí 5.3.3.2 Výběrové hry . 5.3.3.3 Slož slovo . . . 5.3.4 Nastavení . . . . . . . . 5.3.5 Výsledky . . . . . . . . . 5.3.6 Konec . . . . . . . . . . 5.4 Přidání vlastních dat . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
24 24 24 24 24 25 25 25 26 27 27 28 28 29
Závěr
31
Conclusions
32
A Obsah přiloženého CD/DVD
33
Literatura
34
6
Seznam obrázků 1 2 3 4 5 6 7 8 9 10 11 12
Náhled aplikace Výukové texty ČJ . . . . . . . . . . . . . . . Náhled aplikace Altíkovy úkoly [4] . . . . . . . . . . . . . . . Náhled aplikace PixWords [5] . . . . . . . . . . . . . . . . . . Schéma architektury operačního systému Android [11] . . . . . Podíl jednotlivých verzí systému na používaných zařízeních[17] Náhled úvodní obrazovky . . . . . . . . . . . . . . . . . . . . . Náhled hlavního menu . . . . . . . . . . . . . . . . . . . . . . Náhled herního menu . . . . . . . . . . . . . . . . . . . . . . . Náhled hry s výběrem odpovědi . . . . . . . . . . . . . . . . . Náhled hry Slož slovo . . . . . . . . . . . . . . . . . . . . . . . Náhled nastavení . . . . . . . . . . . . . . . . . . . . . . . . . Náhled správy hráčů . . . . . . . . . . . . . . . . . . . . . . .
7
. . . . . . . . . . .
. . . . . . . . . . . .
10 11 11 13 16 24 25 26 27 28 29 30
Seznam zdrojových kódů 1 2 3 4
Ukázkový Ukázkový Ukázkový Ukázkový
kód kód kód kód
přidání přidání přidání přidání
tématu tématu slova . slova .
. . . .
8
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
18 18 19 20
1
Úvod
Cílem práce je vytvoření výukové aplikace pro výuku čtení pro osoby s mentálním postižením. Rozhraní aplikace by tedy mělo být přizpůsobeno potřebám a nárokům těchto jedinců. V aplikaci bude možné přepínat mezi různými jazykovými mutacemi. Samotná výuka bude probíhat formou miniher, kdy hráč bude motivován v podobě bodů a porovnání výsledků s ostatními hráči.
1.1
Mentálně postižení lidé
Mentální retardace je postižení jedinců, při kterém dochází k zaostávání vývoje rozumových schopností, k odlišnému vývoji některých psychických vlastností a k poruchám v adaptačním chování. Mentálním postižením nebo mentální retardací je nazýváno trvalé snížení rozumových schopností, které vzniklo v důsledku organického poškození mozku.[1] Lidé s mentálním postižením si nové věci osvojují pomalu po několikanásobném opakování, naučené rychle zapomínají, vědomosti neumí uplatnit v praxi. Velice často mají vývojové poruchy - autismus, tělesné postižení, epilepsii či Downův syndrom. Stupeň mentálního postižení se obvykle měří standardizovanými testy inteligence. V České republice se ke klasifikaci používá 10. revize mezinárodní statistické klasifikace nemocí (MKN-10) vydaná Světovou zdravotnickou organizací (WHO) v roce 1992.[2, 3] Podle ní se klasifikuje: • Lehká mentální retardace IQ 69 – 50 • Středně těžká mentální retardace IQ 49 – 35 • Těžká mentální retardace IQ 34 – 20 • Hluboká mentální retardace IQ nejvýše 20 • Jiná mentální retardace • Nespecifikovaná mentální retardace
1.2
Podobné aplikace
Po srovnání dostupných programů, které je možno použít pro výuku jazyka a čtecích dovedností, zjistíme, že jich není mnoho, které by byli určeny přímo osobám s mentálním postižením. Vybrala jsem několik volně dostupných aplikací či demoverzí, které jsou tematicky podobné aplikaci, vytvářené v rámci bakalářské práce.
9
Obrázek 1: Náhled aplikace Výukové texty ČJ 1.2.1
Výukové texty ČJ
Jedná se o bakalářskou práci Jany Adamčíkové z roku 2006. Aplikace obsahuje tři „hry“: přiřazování obrázků a slov, skládání slov a obrázky ve větách. Po zvolení hry, si může uživatel vybrat jeden z pěti okruhů: sport, příroda, domácnost, doprava a cestování, zdraví. Každá hra obsahuje deset kol. V dané hře může uživatel celou vyhodnotit nebo přejíd k další větě. Zpět už se vrátit nedá. I přes svou jednoduchost je orientace a ovládání aplikace nelogické. Velkou výhodou je však možnost vložení vlastní slov a vět. Ve zvolené hře uživatel může využít hodnocení nebo přejít k další větě. Hře nelze upřít výhoda možnosti vložení vlastních slov i vět. 1.2.2
Altíkovy úkoly
Altíkovy úkoly je počítačový program vytvořený v roce 2004 občanským sdružením PETIT. Je zaměřený na poznávání symbolických obrázků a sestavování jednoduchých vět z těchto obrázků. Program obsahuje 19 výukových úkolů a přes 1000 pojmů.[4] Za velkou výhodu považuji vkládání vlastních objektů - například obrázků nebo fotografií, které lze následně využívat ve všech úkolech programu. 1.2.3
PixWords
Aplikace vytvořená Black Maple Games. Je to bezplatná hra, kterou lze stáhnout v Google Play. Rozvíjí slovní zásobu pomocí doplňování podle různých obrázků, kterých je velké množství, a to 1500).[5] Podporuje 19 jazyků včetně češtiny. Hráč je motivován body, které lze využít na získání nápovědy. Ovládání je velmi 10
Obrázek 2: Náhled aplikace Altíkovy úkoly [4]
Obrázek 3: Náhled aplikace PixWords [5] jednoduché, ale některé obrázky jsou nejednoznačné a nelze z nich bez použití nápovědy poznat, o jaké slovo se jedná. 1.2.4
Shrnutí
Na Google Play se dá nalézt spousta aplikací podobných PixWords, které jsou spíše hrou a to jednostranně zaměřenou. Za zmínku stojí i program Mentio Slovní zásoba, ale není bohužel k dispozici demoverze, tudíž jsem nemohla aplikaci vyzkoušet. Altíkův slovník a Výukové texty ČJ kombinují procvičování slov i skládání vět, jejich nedostatek spočívá v tom, že ani pro jeden program neexistuje verze pro operační systém Android.
11
2
Použité technologie
2.1
Operační systém Android
Operační systém Android je open-source platforma na jádře Linuxu, určená zejména pro dotyková zařízení. Systém Android vyvíjí konsorcium Open Handset Alliance. 2.1.1
Historie
Společnost Android Inc. vznikla v říjnu roku 2003 v kalifornském Palo Altu a byla založena čtyřmi zakladateli: Andym Rubinem, Richem Minerem, Nickem Searsem a Chrisem Whitem. V srpnu 2005 Google odkoupil Android Inc. V listopadu téhož roku byla založena Open Handset Alliance, která zahrnuje společnosti zabývající se výrobou mobilních telefonů, čipů nebo mobilních aplikací např. Google, HTC, Intel, LG, Motorola, Samsung a další. V říjnu roku 2008 přišel v USA na trh HTC Dream (G1), první chytrý telefon s Androidem 1.0.[6] Únor 2009 přinesl Android 1.1 jako aktualizaci pro G1. V dubnu 2009 byl uvolněn první rozšířený Android ve verzi 1.5 (Cupcake).[7] 2.1.2
Verze systému
Operační systém Android se vyvíjí velmi dynamicky, o tom svědčí i to, že mezi verzemi je odstup několika měsíců. Jednotlivé verze operačního systému Android mají kromě číselného označení i kódové, tím je název zákusku.[8] S každou novou verzí systému je také zveřejněno nový Software Development Kit (SDK) a Application Programming Interface (API). Verze API je označována jako API level a současný Android 6.0 má API 23.[9] 2.1.3
Architektura
Architektura operačního systému Android se skládá z pěti vrstev. Každá vrstva má svůj účel a poskytuje služby vrstvě nadřazené.[7, 10] • Linux Kernel Nejnižší vrstvou architektury Androidu je upravené jádro operačního systému Linux. Slouží k přímé interakci s hardwarem zařízení, tím zajišťuje abstrakci od hardwaru pro vyšší vrstvy. Zabezpečuje správu paměti, správy procesů, základní síťovou vrstvu a ovladače. • Knihovny Nad jádrem je vrstva nativních knihoven, které jsou napsané v jazyce C/C++. Tvoří mezivrstvu mezi různými komponenty vyšších vrstev a linuxových jádrem. Patří mezi ně např.: Webkit – který je určený k renderování
12
Obrázek 4: Schéma architektury operačního systému Android [11] a zobrazování webových stránek, OpenGL – určená k vykreslování 3D grafiky a akceleraci výpočtů, SQLite – což je odlehčená relační databázová knihovna. • Běhové prostředí Každá aplikace pro Android je samostatný proces vytvořený pomocí virtuálního stroje DVM (Dalvik Virtual Machine). Ten zabezpečuje běh spustitelných souborů s příponou DEX. Soubory DEX vznikají kompilací z klasických souborů CLASS a JAR. Dalvik je optimalizovaný pro mobilní zařízení. Současně může běžet více instancí virtuálního stroje. • Aplikační framework Poskytuje přístup k velkému počtu služeb, které mohou být použity přímo v aplikacích, například ovládací prvky, ikony a podobně. Framework je napsaný v jazyce Java, poskytuje aplikacím základní služby systému. – Content Manager - Umožňuje přístup k obsahu (např. kontakty) jiných aplikací. – Window Manager - Spravuje okna, která tvoří aplikace, které většinou využívají dvě a více oken současně. – View System - Spravuje společné grafické prvky uživatelského rozhraní, jako jsou ikony, tlačítka, prvky pro editování textu a další. – Activity Manager - Řídí životní cyklus aplikace. 13
– Notification Manager - Umožňuje aplikacím zobrazit vlastní upozornění ve stavovém řádku. – Location Manager - Používá se při práci s GPS. • Aplikace Na nejvyšší úrovni architektury jsou aplikace, například program na posílání zpráv, navigaci, kalendář, seznam kontaktů a podobně. 2.1.4
Základní součásti aplikace
Aplikace pro Android jsou vybudované na čtyřech základních komponentech realizovaných pomocí tříd: • Aktivity Aktivity odpovídají jedné obrazovce. Obsahují grafické uživatelské rozhraní pro interakci s uživatelem. Uspořádání aktivit je hierarchické. Po spuštění aplikace se spustí nejprve hlavní spouštěcí aktivita, z které je možné spouštět další aktivity. • Služby Realizují déle trvající operace a operace na pozadí. Umožňují asynchronně provádět operace, jejichž realizace by trvala déle. Typickým příkladem služby je přehrávání hudby na pozadí. • Broadcast Receivers Komponenta sloužící k „naslouchání“ oznámení. Podle určení na ně reaguje, například výpisem na stavový řádek nebo spuštěním jiné komponenty. • Poskytovatelé obsahu Umožňují ukládání a sdílení dat mezi více aplikacemi a procesy. Aplikace tak mohou přistupovat k údajům ostatních aplikací, které vystupují jako poskytovatelé obsahu.
2.2
SQL
SQLite je malá knihovna, která implementuje rozhraní databáze SQL. Nevyužívá principu klient-server, každá databáze se ukládá jako soubor na disk. SQLite databáze je velmi rozšířená, používají ji i velké firmy jako například Google, Adobe a další.[12, 13]
2.3
XML
XML (Extensible Markup Language) je značkovací jazyk vyvinutý konsorciem W3C (World Wide Web Consortium). Používá se k vytváření dokumentů, které lze číst bez speciálního softwaru.
14
XML dokument se skládá z tzv. elementů. Ty jsou uzavřeny v ostrých závorkách <element>. Neprázdné elementy se značí počáteční a ukončovací značkou - <element>. Prázdné elementy mohou být zkráceny do tvaru <element />. Elementy mohou obsahovat text, atributy, jiné elementy nebo vše dohromady. Hodnoty atributu elementu jsou vždy uzavřeny v závorkách <element atribut="hodnota"/> . XML dokument musí obsahovat právě jeden kořenový element. Elementy můžeme do sebe vnořovat, ale nesmí se překrývat. Ukončovací značky musí být zapsány v opačném pořadí počátečních značek.[14, 15, 16]
15
3
Popis řešení
3.1
Podporované verze OS Android
Vzhledem k rozšířenosti systému Android a jeho neustálému vývoji je v současné době na trhu mnoho zařízení s různými verzemi. Jak vyplývá z grafu na obrázku 5 verze systému nižší než 4.1 Jelly Bean mají nízké zastoupení mezi uživateli. Aplikace tedy bude podporovat verzi systému 4.1 a vyšší, což odpovídá API 16.
Obrázek 5: Podíl jednotlivých verzí systému na používaných zařízeních[17]
3.2
Jazykové mutace
Mezi základní požadavky na jazyk patřila angličtina, čeština a dánština. Mezi další podporovaný jazyk byla přidána slovenštin. Při prvním spuštění bude jazyk zvolen dle výchozího nastavení systému. Pokud aplikace výchozí jazyk nepodporuje, automaticky se volí angličtina. Jazyk může být změněn v nastavení aplikace. Zvolený jazyk je uložen v SharedPreferences.
3.3
Hry
Při výběru her jsem vycházela z aplikace Pixwords a Výukové texty ČJ. Před začátkem hry lze zvolit obtížnost a počet hracích kol. Toto nastavení, stejně jako nastavení celé aplikace je uloženo pomocí SharedPreferences[18]. V aplikaci se nachází tyto minihry: • Složení slov Uživatel má s ohledem na obtížnosti hry k dispozici několik písmen a jeho úkolem je poskládat slovo na obrázku. • Výběr slova Uživatel má na výběr několik slov, vybere takové, které koresponduje obrázku. 16
• Výběr věty Uživatel má na výběr několik vět, vybere takovou, která koresponduje obrázku. • Chybějící slovo Vě větě je vynecháno slovo a uživatel z výběru zvolí tak, aby věta dávala smysl.
3.4
Ukládání dat
Dalším požadavkem byla volba možnosti úpravy herních dat. Z tohoto důvodu byl vybrán formát XML, který je i pro laika dobře pochopitelný a čitelný. Název souboru je vždy zkratka jazyka dle normy ISO 639-1.[19] Při prvním spuštění aplikace jsou nakopírovány soubory ze složky assets do externí paměti zařízení a to konkrétně do Android/data/cz.upol.illustratedtexts/files. Následně se pro každou jazykovou mutaci načtou data z XML souboru do databáze. V databázi se uchovává poslední změna souboru pro daný jazyk.[20] Při každém spuštění aplikace se kontroluje, zda XML soubor pro aktuálně zvolený jazyk existuje. Pokud neexistuje, opět se nakopíruje soubor ze složky assets/data, odstraní se původní data pro daný jazyk a opět se z načtou data z XML souboru do databáze. V případě, že bude soubor změněn, původní data pro jazyk se smažou a nahradí se daty načtenými ze souboru. Výchozí obrázky jsou uloženy ve složce images v externí paměti. Při načítání obrázku se hledá nejprve ve složce assets/images a ž poté ve výchozích obrázcích. Výchozí obrázky jsou šířeny pod licencí Creative Commons Deed CC0.[21]
3.5
Úprava a přidání dat
Uživatel může přidávat vlastní témata, slova a věty. V případě, že je potřeba aby se zobrazovala jen tematicky společná slova či věty, dají se tyto údaje vložit do tzv. podtématu. Po prvním spuštění aplikace se v zařízení v adresáři Android/data/, vytvoří nový adresář cz.upol.illustratedtexts/. Ten obsahuje složku files, která obsahuje dvě složky, a to data a images. Složka data obsahuje XML soubory se zdrojovými daty, určené pro hry aplikace. Složka images je prázdná, zde budou uživatelé vkládat své obrázky ke slovům a větám. V této složce mohou vytvářet další své složky. U slova či věty se uvádí relativní cesta vzhledem k adresáři. 3.5.1
Přidání tématu
Uživatel si může vytvořit vlastní téma, které se bude například jmenovat příroda. Do kořenového elementu
přidá element s atributem name="pˇ ríroda". 17
1 2 3 4
Zdrojový kód 1: Ukázkový kód přidání tématu
3.5.2
Přidání slova
Každé slovo je nutné přidat do tématu. Pro slovo se používá element <word> s atributem picture. Do atributu picture napíšeme relativní cestu k obrázku ve složce images. Samotné slovo je textová hodnota elementu. 1 2 3 4 5 6
<word picture="kos.jpg">kos <word picture="stromy/smrk.jpg">smrk
Zdrojový kód 2: Ukázkový kód přidání tématu
3.5.3
Přidání věty
K přidání věty slouží element <sentence>. I věta musí být zařazena do tématu. Do tohoto elementu je zapotřebí přidat elementy a