<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>http://wiki.pannier-schulungen.de/index.php?action=history&amp;feed=atom&amp;title=Prvn%C3%AD_kroky_p%C5%99i_tvorb%C4%9B_aplikac%C3%AD_pro_Android</id>
		<title>První kroky při tvorbě aplikací pro Android - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.pannier-schulungen.de/index.php?action=history&amp;feed=atom&amp;title=Prvn%C3%AD_kroky_p%C5%99i_tvorb%C4%9B_aplikac%C3%AD_pro_Android"/>
		<link rel="alternate" type="text/html" href="http://wiki.pannier-schulungen.de/index.php?title=Prvn%C3%AD_kroky_p%C5%99i_tvorb%C4%9B_aplikac%C3%AD_pro_Android&amp;action=history"/>
		<updated>2026-08-25T20:47:15Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in MeinWiki</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>http://wiki.pannier-schulungen.de/index.php?title=Prvn%C3%AD_kroky_p%C5%99i_tvorb%C4%9B_aplikac%C3%AD_pro_Android&amp;diff=118741&amp;oldid=prev</id>
		<title>HACJoie62052 am 21. August 2026 um 19:50 Uhr</title>
		<link rel="alternate" type="text/html" href="http://wiki.pannier-schulungen.de/index.php?title=Prvn%C3%AD_kroky_p%C5%99i_tvorb%C4%9B_aplikac%C3%AD_pro_Android&amp;diff=118741&amp;oldid=prev"/>
				<updated>2026-08-21T19:50:45Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 21. August 2026, 19:50 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Když už data máte&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;přichází na řadu jejich zpracování&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Začněte tím, že &lt;/del&gt;z &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;odpovědi vytáhnete konkrétní hodnotu – třeba jméno nebo číslo&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Většina moderních jazyků má funkce&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;které převedou JSON na slovník nebo objekt&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;takže nemusíte parsovat ručně&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Otestujte &lt;/del&gt;si, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;co se stane&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;když API vrátí prázdný výsledek &lt;/del&gt;– &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;dobrý kód by měl umět ošetřit i tuto situaci&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Doporučuji psát si krátké úryvky kódu, které pak můžete použít jako stavební bloky &lt;/del&gt;pro &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;složitější aplikace&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Prvním &lt;/del&gt;praktickým &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;krokem je zvolit si jednoduché veřejné API&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;které nevyžaduje registraci ani klíč. Zaměřte se na ta&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;která vracejí JSON&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;protože je to nejpoužívanější formát a snadno &lt;/del&gt;se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;čte. Otevřete si třeba seznam dostupných koncových bodů (endpointů) &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;zkuste si v prohlížeči zadat adresu, která vrací data&lt;/del&gt;. Pokud &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;se vám zobrazí strukturovaný text&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;jste &lt;/del&gt;na &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;správné cestě&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Pak si do počítače nainstalujte jednoduchý nástroj, který umožňuje posílat požadavky přímo z příkazové řádky &lt;/del&gt;– &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;díky tomu uvidíte&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;co se děje „pod kapotou&amp;quot;&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Základem &lt;/del&gt;je &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;funkce 'Přejmenovat' (obvykle zkratka Shift+F6 nebo F2)&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Namísto hledání a nahrazování v celém souboru&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;což často vede k přepsání i jiných identifikátorů&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;IDE inteligentně přejmenuje symbol na všech místech, kde se používá&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;To platí nejen pro proměnné&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ale i pro metody&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;třídy a dokonce i soubory. Při přejmenování třídy &lt;/del&gt;se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;navíc automaticky aktualizuje i název souboru, což je obrovská úspora času&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Důležité &lt;/del&gt;je, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;že funkce respektuje i použití v řetězcích&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;komentářích &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;dalších kontextech&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pokud to nastavíte v parametrech&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Začít s API může znít jako složitý úkol, ale ve skutečnosti jde o rozhraní, které umožňuje dvěma programům spolu komunikovat&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Nejjednodušší způsob&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;jak si to představit&lt;/del&gt;, je &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;porovnat API s číšníkem v restauraci: vy si objednáte (pošlete požadavek), číšník to předá kuchyni (serveru) &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;přinese vám jídlo (data). Pro začátek nemusíte psát složité systémy – stačí vám nástroj na posílání HTTP požadavků a malý kousek testovacího kódu&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Při práci s vestavěnými nástroji je klíčové mít pod kontrolou verzi &lt;/del&gt;kódu. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Než začnete s rozsáhlejšími refaktoringy, vytvořte si commit nebo si alespoň uložte aktuální stav&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Pokud se něco pokazí&lt;/del&gt;, můžete se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;snadno vrátit&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Také &lt;/del&gt;si &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;zvykněte dělat refaktoring v malých krocích &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;po každé operaci spustit testy. IDE vám dá vědět, pokud něco není v pořádku, ale automatické testy jsou vaší pojistkou&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;že se nic nerozbilo&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Typické chyby &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;jak se jim vyhnout Častou chybou je ukládání odvozených dat do Reduxu&lt;/del&gt;. Například &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;filtrovaný seznam položek byste neměli ukládat do store&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ale odvodit pomocí selektoru&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;K tomu použijte funkce jako createSelector z knihovny reselect&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nebo přímo selektory v Redux Toolkit&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Tím zajistíte&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;že data zůstanou „single source of truth&amp;quot; a vy předejdete synchronizačním problémům&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Další chybou je mutování stavu přímo v reduceru&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;I když Redux Toolkit používá immer, který umožňuje zdánlivě mutovat stav, je lepší si uvědomit, že změny musí být vždy uvnitř reducerů, nikoliv mimo ně&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pro &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;první kontakt s programováním v C# &lt;/del&gt;je &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;konzolová aplikace ideální volbou&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Nevyžaduje žádné složité grafické rozhraní&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;stačí textový výstup &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;vstup&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Celý &lt;/del&gt;kód &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;se spouští v terminálu&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;což vám umožní soustředit se na základy jazyka&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;aniž byste se ztráceli v návrhových vzorech nebo knihovnách&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Nejprve si otevřete vývojové prostředí (například Visual Studio nebo Visual Studio Code) &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;vytvořte nový projekt typu Konzolová aplikace. V něm najdete soubor Program.cs – &lt;/del&gt;to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;je místo, kde se odehrává celá logika&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Na závěr: rovnováha není statická&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Každý měsíc si vyhraďte hodinu &lt;/del&gt;na &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;revizi testovací sady – podívejte &lt;/del&gt;se, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;které testy běží nejdéle, které selhávají nejčastěji a které už nepokrývají žádné nové &lt;/del&gt;riziko. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Staré a duplicitní testy mažte bez milosti. Pamatujte, že testy jsou také kód&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;který musíte udržovat. Cílem není mít co nejvíce testů&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ale co nejlépe pokrýt to&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;co se může rozbít &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;co by vás stálo hodně peněz a času. Taková rovnováha vám umožní škálovat codebase bez toho&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;abyste se utopili &lt;/del&gt;v &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pomalém testovacím běhu&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Refaktorování &lt;/del&gt;kódu &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;je nedílnou součástí vývoje&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ale často ho vnímáme jako zdlouhavou a nudnou činnost. Mnoho vývojářů stále ručně přejmenovává proměnné&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;přesouvá metody &lt;/del&gt;nebo &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;mění signatury funkcí&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;přitom moderní vývojová prostředí nabízejí celou řadu vestavěných nástrojů&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;které tyto operace výrazně urychlí &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;hlavně eliminují chyby vzniklé při ručním zásahu&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Stačí &lt;/del&gt;se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;naučit pár klávesových zkratek a pochopit&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;co všechno IDE umí&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Praktický tip: vytvořte si malý program, který sečte dvě čísla od uživatele&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Nejdříve načtěte první číslo&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pak druhé&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;obě převeďte &lt;/del&gt;na &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;int&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sečtěte a vypište výsledek&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Tím si procvičíte vstup&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;výstup, proměnné i konverzi&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Pokud chcete&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;aby se program nezavřel okamžitě po skončení&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;přidejte na konec příkaz Console.ReadKey – počká na stisknutí klávesy. To se hodí, když spouštíte aplikaci přímo &lt;/del&gt;z &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;terminálu&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;Jak se vyhnout častým chybám při výbě[https://En.Search.Wordpress.com/?q=ru%20%C4%8Cast%C3%BDm ru Častým] omylem je použití licence bez ohledu na to&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; When you loved this article and you wish to receive more information relating to [https://Citiesofthedead.net/index.php/Jak_zrychlit_datab%C3%A1zov%C3%A9_dotazy_v_SQL Citiesofthedead.net] please visit the web site&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jaké knihovny či komponenty &lt;/ins&gt;z &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;vašeho projektu závisí. [https://openclipart&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;org/search/?query=Pokud%20pou%C5%BE%C3%ADv%C3%A1te Pokud používáte] knihovny pod licencí GPL&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;může to „nakazit&amp;quot; celý váš projekt&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pokud tedy neoddělíte části s různými licencemi do samostatných souborů&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Proto &lt;/ins&gt;si &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;před výběrem projděte veškeré závislosti a zjistěte&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zda jejich licence neomezuje tu vaši. Například kombinace GPL a komerčního softwaru je možná&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ale pouze pokud striktně oddělíte kód podle licence &lt;/ins&gt;– &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;to ale není praktické [https://wiki.tryzna.de/index&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;php?title=Jak_zorganizovat_verzov%C3%A1n%C3%AD_k%C3%B3du_p%C5%99i_v%C3%ADce_knihovn%C3%A1ch rady &lt;/ins&gt;pro &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;rekonstrukci] menší projekty&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Typickým &lt;/ins&gt;praktickým &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;problémem bývá i příliš mnoho dat v samotném tokenu. Do payloadu patří jen minimální identifikátory (např. ID uživatele&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;role&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;případně oprávnění)&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ne osobní údaje či citlivé informace. Token &lt;/ins&gt;se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;totiž přenáší v každém požadavku &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;může být zachycen&lt;/ins&gt;. Pokud &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;potřebujete podrobnější údaje&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;načtěte je až &lt;/ins&gt;na &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;serveru podle ID&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Velikost tokenu také ovlivňuje výkon &lt;/ins&gt;– &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;čím kratší&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;tím menší režie při každém volání API&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Základním krokem &lt;/ins&gt;je &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;rozdělit stav podle domén&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Místo jednoho objektu asyncState s deseti klíči pro různé požadavky použijte samostatné slice pro každou logickou oblast&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;například user&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;products nebo notifications&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;V každém slice pak udržujte čistá data&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;nikoli informace o tom&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;že &lt;/ins&gt;se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;něco děje&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro kontrolu průběhu asynchronní operace &lt;/ins&gt;je &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;vhodné vytvořit malý pomocný stav – typicky status s hodnotami idle&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;loading&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;succeeded &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;failed&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;plus pole error [https://wiki.tryzna.de/index&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;php?title=Jak_zorganizovat_verzov%C3%A1n%C3%AD_k%C3%B3du_p%C5%99i_v%C3%ADce_knihovn%C3%A1ch rady pro rekonstrukci] chybové hlášky&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Tento vzor&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;inspirovaný doporučením z oficiální dokumentace Reduxu&lt;/ins&gt;, je &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jednoduchý &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;snadno rozšiřitelný&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pravidelné spouštění testů a sledování pokrytí &lt;/ins&gt;kódu &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;vám pomůže odhalit slabá místa&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Nebuďte ale posedlí stoprocentním pokrytím – důležitější je testovat kritické a složité části aplikace&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;NUnit nabízí také možnost seskupit testy do kategorií&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;které pak &lt;/ins&gt;můžete &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;selektivně spouštět, což &lt;/ins&gt;se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;hodí při rozsáhlých projektech&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Osvojte &lt;/ins&gt;si &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;tyto návyky &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;testování se stane přirozenou součástí vašeho vývoje&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;nikoli nutným zlem&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro samotné ověřování výsledků NUnit nabízí třídu Assert. Používejte její moderní verzi s constraint syntaxí, která je čitelnější &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;poskytuje lepší chybové hlášky&lt;/ins&gt;. Například &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;místo Assert.AreEqual(5&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;result) napište Assert&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;That(result&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Is.EqualTo(5))&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro porovnávání desetinných čísel nezapomeňte na toleranci&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jinak test selže kvůli zaokrouhlovacím chybám&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Podobně při práci s kolekcemi používejte Is&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;EquivalentTo pro porovnání obsahu bez ohledu na pořadí&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pro &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;komerčně přátelské projekty je vhodná mírná licence, jako &lt;/ins&gt;je &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;například MIT nebo BSD&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Tyto licence umožňují téměř libovolné použití, včetně začlenění do placeného softwaru, a to za předpokladu&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;že zachováte původní copyright &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;licenční text&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pokud chcete, aby kdokoli mohl váš &lt;/ins&gt;kód &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;použít, ale nechcete řešit právní složitosti, sáhněte po takzvaných permisivních licencích. Naopak pro projekty, kde chcete, aby odvozená díla zůstala otevřená&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zvolte licenci copyleftovou&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;typicky GPL&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Ta vyžaduje, aby každý, kdo váš kód šíří, poskytl i zdrojový kód svých úprav &lt;/ins&gt;a to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pod stejnou licencí&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Prvním krokem je volba správného algoritmu pro podpis&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Vždy používejte asymetrické šifrování, například RS256, kdy soukromý klíč zůstává &lt;/ins&gt;na &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;serveru a veřejný klíč se distribuuje ověřovacím službám. Vyhněte &lt;/ins&gt;se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;algoritmu HS256 v prostředí&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;kde je více nezávislých mikroslužeb – sdílení jednoho tajemství mezi všemi službami zvyšuje &lt;/ins&gt;riziko &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jeho úniku&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pokud už HS256 používáte&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zajistěte&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;aby bylo tajemství dlouhé&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;náhodné &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;uložené v bezpečnostním trezoru&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ne v konfiguračním souboru či &lt;/ins&gt;v &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;repozitáři&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Při testování &lt;/ins&gt;kódu, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;který pracuje s externími zdroji (databáze, souborový systém, HTTP)&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;vždy použijte falešné objekty &lt;/ins&gt;nebo &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;rozhraní. Testy&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;které závisí na skutečné službě&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jsou křehké &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pomalé&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro vkládání falešných závislostí &lt;/ins&gt;se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;hodí injektování rozhraní do konstruktoru testované třídy. V testech pak předávejte jednoduché implementace nebo použijte knihovnu pro vytváření mocků&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ale i bez ní se obejdete vytvořením vlastních testovacích stubů&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Nejčastější chyby a jak se jim vyhnout Častým omylem je testovat více než jednu věc v rámci jedné metody&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pokud test selže&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;nemáte jistotu&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;která část kódu je rozbitá. Rozdělte takové testy &lt;/ins&gt;na &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;menší&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;nezávislé jednotky. Další častou chybou je závislost testů na pořadí provedení nebo na sdíleném stavu&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;NUnit spouští testy paralelně v rámci sestavení&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;proto každý test musí být izolovaný&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pro nastavení výchozího stavu používejte atributy [SetUp] a [TearDown]&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ale nikdy nepředpokládejte&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;že stav &lt;/ins&gt;z &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;předchozího testu stále existuje&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>HACJoie62052</name></author>	</entry>

	<entry>
		<id>http://wiki.pannier-schulungen.de/index.php?title=Prvn%C3%AD_kroky_p%C5%99i_tvorb%C4%9B_aplikac%C3%AD_pro_Android&amp;diff=113779&amp;oldid=prev</id>
		<title>MargartOrlando: Die Seite wurde neu angelegt: „Když už data máte, přichází na řadu jejich zpracování. Začněte tím, že z odpovědi vytáhnete konkrétní hodnotu – třeba jméno nebo číslo.…“</title>
		<link rel="alternate" type="text/html" href="http://wiki.pannier-schulungen.de/index.php?title=Prvn%C3%AD_kroky_p%C5%99i_tvorb%C4%9B_aplikac%C3%AD_pro_Android&amp;diff=113779&amp;oldid=prev"/>
				<updated>2026-08-21T17:38:22Z</updated>
		
		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „Když už data máte, přichází na řadu jejich zpracování. Začněte tím, že z odpovědi vytáhnete konkrétní hodnotu – třeba jméno nebo číslo.…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Když už data máte, přichází na řadu jejich zpracování. Začněte tím, že z odpovědi vytáhnete konkrétní hodnotu – třeba jméno nebo číslo. Většina moderních jazyků má funkce, které převedou JSON na slovník nebo objekt, takže nemusíte parsovat ručně. Otestujte si, co se stane, když API vrátí prázdný výsledek – dobrý kód by měl umět ošetřit i tuto situaci. Doporučuji psát si krátké úryvky kódu, které pak můžete použít jako stavební bloky pro složitější aplikace.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Prvním praktickým krokem je zvolit si jednoduché veřejné API, které nevyžaduje registraci ani klíč. Zaměřte se na ta, která vracejí JSON, protože je to nejpoužívanější formát a snadno se čte. Otevřete si třeba seznam dostupných koncových bodů (endpointů) a zkuste si v prohlížeči zadat adresu, která vrací data. Pokud se vám zobrazí strukturovaný text, jste na správné cestě. Pak si do počítače nainstalujte jednoduchý nástroj, který umožňuje posílat požadavky přímo z příkazové řádky – díky tomu uvidíte, co se děje „pod kapotou&amp;quot;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základem je funkce 'Přejmenovat' (obvykle zkratka Shift+F6 nebo F2). Namísto hledání a nahrazování v celém souboru, což často vede k přepsání i jiných identifikátorů, IDE inteligentně přejmenuje symbol na všech místech, kde se používá. To platí nejen pro proměnné, ale i pro metody, třídy a dokonce i soubory. Při přejmenování třídy se navíc automaticky aktualizuje i název souboru, což je obrovská úspora času. Důležité je, že funkce respektuje i použití v řetězcích, komentářích a dalších kontextech, pokud to nastavíte v parametrech.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Začít s API může znít jako složitý úkol, ale ve skutečnosti jde o rozhraní, které umožňuje dvěma programům spolu komunikovat. Nejjednodušší způsob, jak si to představit, je porovnat API s číšníkem v restauraci: vy si objednáte (pošlete požadavek), číšník to předá kuchyni (serveru) a přinese vám jídlo (data). Pro začátek nemusíte psát složité systémy – stačí vám nástroj na posílání HTTP požadavků a malý kousek testovacího kódu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při práci s vestavěnými nástroji je klíčové mít pod kontrolou verzi kódu. Než začnete s rozsáhlejšími refaktoringy, vytvořte si commit nebo si alespoň uložte aktuální stav. Pokud se něco pokazí, můžete se snadno vrátit. Také si zvykněte dělat refaktoring v malých krocích a po každé operaci spustit testy. IDE vám dá vědět, pokud něco není v pořádku, ale automatické testy jsou vaší pojistkou, že se nic nerozbilo.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Typické chyby a jak se jim vyhnout Častou chybou je ukládání odvozených dat do Reduxu. Například filtrovaný seznam položek byste neměli ukládat do store, ale odvodit pomocí selektoru. K tomu použijte funkce jako createSelector z knihovny reselect, nebo přímo selektory v Redux Toolkit. Tím zajistíte, že data zůstanou „single source of truth&amp;quot; a vy předejdete synchronizačním problémům. Další chybou je mutování stavu přímo v reduceru. I když Redux Toolkit používá immer, který umožňuje zdánlivě mutovat stav, je lepší si uvědomit, že změny musí být vždy uvnitř reducerů, nikoliv mimo ně.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pro první kontakt s programováním v C# je konzolová aplikace ideální volbou. Nevyžaduje žádné složité grafické rozhraní, stačí textový výstup a vstup. Celý kód se spouští v terminálu, což vám umožní soustředit se na základy jazyka, aniž byste se ztráceli v návrhových vzorech nebo knihovnách. Nejprve si otevřete vývojové prostředí (například Visual Studio nebo Visual Studio Code) a vytvořte nový projekt typu Konzolová aplikace. V něm najdete soubor Program.cs – to je místo, kde se odehrává celá logika.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na závěr: rovnováha není statická. Každý měsíc si vyhraďte hodinu na revizi testovací sady – podívejte se, které testy běží nejdéle, které selhávají nejčastěji a které už nepokrývají žádné nové riziko. Staré a duplicitní testy mažte bez milosti. Pamatujte, že testy jsou také kód, který musíte udržovat. Cílem není mít co nejvíce testů, ale co nejlépe pokrýt to, co se může rozbít a co by vás stálo hodně peněz a času. Taková rovnováha vám umožní škálovat codebase bez toho, abyste se utopili v pomalém testovacím běhu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Refaktorování kódu je nedílnou součástí vývoje, ale často ho vnímáme jako zdlouhavou a nudnou činnost. Mnoho vývojářů stále ručně přejmenovává proměnné, přesouvá metody nebo mění signatury funkcí, přitom moderní vývojová prostředí nabízejí celou řadu vestavěných nástrojů, které tyto operace výrazně urychlí a hlavně eliminují chyby vzniklé při ručním zásahu. Stačí se naučit pár klávesových zkratek a pochopit, co všechno IDE umí.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Praktický tip: vytvořte si malý program, který sečte dvě čísla od uživatele. Nejdříve načtěte první číslo, pak druhé, obě převeďte na int, sečtěte a vypište výsledek. Tím si procvičíte vstup, výstup, proměnné i konverzi. Pokud chcete, aby se program nezavřel okamžitě po skončení, přidejte na konec příkaz Console.ReadKey – počká na stisknutí klávesy. To se hodí, když spouštíte aplikaci přímo z terminálu.&lt;/div&gt;</summary>
		<author><name>MargartOrlando</name></author>	</entry>

	</feed>