Skip to content

Commit

Permalink
deploy: f8b1f15
Browse files Browse the repository at this point in the history
  • Loading branch information
danim1130 committed Mar 5, 2024
1 parent 20ddf71 commit 8b1610b
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 45 deletions.
47 changes: 21 additions & 26 deletions laborok/calculator/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -985,7 +985,7 @@ <h2 id="projekt-letrehozasa">Projekt létrehozása<a class="headerlink" href="#p
<p>A <em>Jetpack Navigation</em> könyvtár használata miatt vegyük fel a többi plugin mellé a <code>androidx.navigation.safeargs</code>-ot:</p>
<div class="highlight"><pre><span></span><code><span class="n">plugins</span><span class="w"> </span><span class="o">{</span>
<span class="w"> </span><span class="o">...</span>
<span class="w"> </span><span class="n">id</span><span class="o">(</span><span class="s2">&quot;androidx.navigation.safeargs&quot;</span><span class="o">)</span><span class="w"> </span><span class="n">version</span><span class="w"> </span><span class="s2">&quot;2.7.3&quot;</span><span class="w"> </span><span class="n">apply</span><span class="w"> </span><span class="kc">false</span>
<span class="w"> </span><span class="n">id</span><span class="o">(</span><span class="s2">&quot;androidx.navigation.safeargs&quot;</span><span class="o">)</span><span class="w"> </span><span class="n">version</span><span class="w"> </span><span class="s2">&quot;2.7.7&quot;</span><span class="w"> </span><span class="n">apply</span><span class="w"> </span><span class="kc">false</span>
<span class="o">}</span>
</code></pre></div>
<p>Nyissuk meg a <strong>module</strong> szintű <em>Gradle</em> fájlunkat.</p>
Expand All @@ -1012,7 +1012,7 @@ <h2 id="projekt-letrehozasa">Projekt létrehozása<a class="headerlink" href="#p

<span class="n">dependencies</span><span class="w"> </span><span class="o">{</span>
<span class="w"> </span><span class="o">...</span>
<span class="w"> </span><span class="n">val</span><span class="w"> </span><span class="n">nav_version</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;2.7.3&quot;</span>
<span class="w"> </span><span class="n">val</span><span class="w"> </span><span class="n">nav_version</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;2.7.7&quot;</span>
<span class="w"> </span><span class="n">implementation</span><span class="w"> </span><span class="o">(</span><span class="s2">&quot;androidx.navigation:navigation-fragment-ktx:$nav_version&quot;</span><span class="o">)</span>
<span class="w"> </span><span class="n">implementation</span><span class="w"> </span><span class="o">(</span><span class="s2">&quot;androidx.navigation:navigation-ui-ktx:$nav_version&quot;</span><span class="o">)</span>
<span class="o">}</span>
Expand Down Expand Up @@ -1105,12 +1105,6 @@ <h2 id="jetpack-navigation">Jetpack Navigation<a class="headerlink" href="#jetpa
<p><a class="glightbox" href="assets/new_destination.png" data-type="image" data-width="auto" data-height="auto" data-desc-position="bottom"><img alt="" src="assets/new_destination.png" /></a></p>
<p>Hozzunk létre ugyanezzel a módszerrel egy újabb <em>Fragment</em>-t <code>HistoryFragment</code> néven. Ha ezzel megvagyunk, vigyük a kurzorunkat a <code>CalculatorFragment</code> fölé, ekkor megjelenik egy karika a <em>Fragment</em> jobb oldalán. Kattintsunk rá, majd a <em>bal</em> klikket lenyomva húzzuk a kurzort a másik <em>Fragment</em> fölé és ott engedjük el. Így létrejött egy útvonal a <code>CalculatorFragment</code> és a <code>HistoryFragment</code> között. Végezzük el ugyanezt visszafelé. Ha ezzel megvagyunk, akkor következőt kell látnunk:</p>
<p><a class="glightbox" href="assets/nav_graph_done.png" data-type="image" data-width="auto" data-height="auto" data-desc-position="bottom"><img alt="" src="assets/nav_graph_done.png" /></a></p>
<div class="admonition example">
<p class="admonition-title">BEADANDÓ (1 pont)</p>
<p>Készíts egy <strong>képernyőképet</strong>, amin látszódik <strong>a futó alkalmazás</strong> (emulátoron, készüléket tükrözve vagy képernyőfelvétellel), a <strong><code>nav_graph.xml</code> kódja,</strong> valamint a <strong>neptun kódod a kódban valahol kommentként</strong>.</p>
<p>A képet a megoldásban a repository-ba f1.png néven töltsd föl.</p>
<p>A képernyőkép szükséges feltétele a pontszám megszerzésének.</p>
</div>
<h2 id="calculatoroperator">CalculatorOperator<a class="headerlink" href="#calculatoroperator" title="Permanent link">&para;</a></h2>
<p>A labor következő szakaszában a <code>CalculatorOperator</code> nevű segédosztályt fogjuk implementálni, aminek a feladata, hogy eltárolja a számológép állapotát, és kiszámítsa a támogatott műveletek eredményét. Ezt a <em>Kotlin</em> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/"><code>Regex</code></a> könyvtárának segítségével végzi el.</p>
<p>Első lépésként hozzunk létre egy új <code>util</code> package-t (jobb klikk <em>calculator</em> package-en &rarr; <em>New</em> &rarr; <em>package</em>), benne <code>Util</code> nevű <em>Kotlin</em> objektummal. Ez az objektum fogja tartalmazni az olyan konstansokat és segédváltozókat, amik a számológép működtetéséhez szükségesek.</p>
Expand Down Expand Up @@ -1138,20 +1132,11 @@ <h2 id="calculatoroperator">CalculatorOperator<a class="headerlink" href="#calcu
</code></pre></div>
<p>Következő lépésként egészítsük ki az osztályt egy <code>companion object</code>-el benne egy olyan <code>getByOrdinal()</code> nevű segédfüggvénnyel, ami a sorrend szerinti index alapján visszaadja a megfelelő <code>OperationSymbol</code>-t. Tehát <code>0</code> esetén a <code>DIVISION</code>-t, <code>1</code> esetén <code>MULTIPLICATION</code>-t és így tovább.</p>
<div class="highlight"><pre><span></span><code><span class="kd">companion</span><span class="w"> </span><span class="kd">object</span><span class="w"> </span><span class="err">{</span>
<span class="w"> </span><span class="kd">fun</span><span class="w"> </span><span class="nf">getByOrdinal</span><span class="p">(</span><span class="n">ordinal</span><span class="p">:</span><span class="w"> </span><span class="kt">Int</span><span class="p">):</span><span class="w"> </span><span class="n">OperationSymbol? </span><span class="p">{</span>
<span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="nv">operation</span><span class="p">:</span><span class="w"> </span><span class="n">OperationSymbol? </span><span class="o">=</span><span class="w"> </span><span class="kc">null</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">value</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">values</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">value</span><span class="p">.</span><span class="na">ordinal</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">ordinal</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">operation</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">value</span>
<span class="w"> </span><span class="k">break</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">operation</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="kd">fun</span><span class="w"> </span><span class="nf">getByOrdinal</span><span class="p">(</span><span class="n">ordinal</span><span class="p">:</span><span class="w"> </span><span class="kt">Int</span><span class="p">):</span><span class="w"> </span><span class="n">OperationSymbol? </span><span class="o">=</span><span class="w"> </span><span class="n">OperationSymbol</span><span class="p">.</span><span class="na">entries</span><span class="p">.</span><span class="na">getOrNull</span><span class="p">(</span><span class="n">ordinal</span><span class="p">)</span>
<span class="p">}</span>
</code></pre></div>
<div class="admonition info">
<p>Az <code>enum</code> osztályhoz tartozó <code>values()</code> metódus az osztályban definiált <code>enum</code> objektumok tömbjét adja vissza.</p>
<p>Az <code>enum</code> osztályhoz tartozó <code>entries</code> az osztályban definiált <code>enum</code> objektumok tömbjét adja vissza.</p>
</div>
<p>Ezután a <em>util</em> package-ben hozzunk létre egy <code>CalculatorOperator</code> nevű <em>Kotlin</em> <code>object</code>-t (<code>Singleton</code> osztály). Ez a <code>Singleton</code> felel a számológép vezérléséért.</p>
<p>Első lépésként a <code>CalculatorOperator</code> osztályon belül vegyünk fel egy <code>CalculatorState</code> nevű <code>data class</code>-t. Ez a számológép állapotának tárolásáért felel, ami a <code>CalculatorOperator</code> metódusai számára írható és olvasható, más osztályok számára pedig csak olvasható.</p>
Expand Down Expand Up @@ -1691,7 +1676,7 @@ <h2 id="calculatorfragment">CalculatorFragment<a class="headerlink" href="#calcu
<div class="admonition example">
<p class="admonition-title">BEADANDÓ (1 pont)</p>
<p>Készíts egy <strong>képernyőképet</strong>, amin látszódik <strong>a <em>CalculatorFragment</em> egy beleírt számmal</strong> (emulátoron, készüléket tükrözve vagy képernyőfelvétellel), az <strong>ahhoz tartozó kódrészlet,</strong> valamint a <strong>neptun kódod a kódban valahol kommentként</strong>.</p>
<p>A képet a megoldásban a repository-ba f2.png néven töltsd föl.</p>
<p>A képet a megoldásban a repository-ba f1.png néven töltsd föl.</p>
<p>A képernyőkép szükséges feltétele a pontszám megszerzésének.</p>
</div>
<h2 id="recyclerview">RecyclerView<a class="headerlink" href="#recyclerview" title="Permanent link">&para;</a></h2>
Expand Down Expand Up @@ -1808,7 +1793,7 @@ <h2 id="recyclerview">RecyclerView<a class="headerlink" href="#recyclerview" tit
<div class="admonition example">
<p class="admonition-title">BEADANDÓ (1 pont)</p>
<p>Készíts egy <strong>képernyőképet</strong>, amin látszódik a <strong>HistoryAdapter osztály kódja,</strong> valamint a <strong>neptun kódod a kódban valahol kommentként</strong>.</p>
<p>A képet a megoldásban a repository-ba f3.png néven töltsd föl.</p>
<p>A képet a megoldásban a repository-ba f2.png néven töltsd föl.</p>
<p>A képernyőkép szükséges feltétele a pontszám megszerzésének.</p>
</div>
<h2 id="historyfragment">HistoryFragment<a class="headerlink" href="#historyfragment" title="Permanent link">&para;</a></h2>
Expand Down Expand Up @@ -2044,7 +2029,7 @@ <h2 id="navigacio">Navigáció<a class="headerlink" href="#navigacio" title="Per
<div class="admonition example">
<p class="admonition-title">BEADANDÓ (1 pont)</p>
<p>Készíts egy <strong>képernyőképet</strong>, amin látszódik <strong>a <code>HistoryFragment</code> néhány bejegyzéssel</strong> (emulátoron, készüléket tükrözve vagy képernyőfelvétellel), a <strong><code>HistoryFragment</code> osztály <code>onClick()</code> metódusának kódja,</strong> valamint a <strong>neptun kódod a kódban valahol kommentként</strong>.</p>
<p>A képet a megoldásban a repository-ba f4.png néven töltsd föl.</p>
<p>A képet a megoldásban a repository-ba f3.png néven töltsd föl.</p>
<p>A képernyőkép szükséges feltétele a pontszám megszerzésének.</p>
</div>
<h2 id="onallo-resz-elozmenyek-torlese">Önálló rész - Előzmények törlése<a class="headerlink" href="#onallo-resz-elozmenyek-torlese" title="Permanent link">&para;</a></h2>
Expand Down Expand Up @@ -2073,9 +2058,17 @@ <h2 id="onallo-resz-elozmenyek-torlese">Önálló rész - Előzmények törlése
<div class="admonition example">
<p class="admonition-title">BEADANDÓ (1 pont)</p>
<p>Készíts egy <strong>képernyőképet</strong>, amin látszódik az <strong>üres <em>History</em> képernyő</strong> (emulátoron, készüléket tükrözve vagy képernyőfelvétellel), a <strong><code>HistoryFragment</code> osztály <code>setOnMenuItemClickListener</code> metódusának kódja,</strong> valamint a <strong>neptun kódod a kódban valahol kommentként</strong>.</p>
<p>A képet a megoldásban a repository-ba f5.png néven töltsd föl.</p>
<p>A képet a megoldásban a repository-ba f4.png néven töltsd föl.</p>
<p>A képernyőkép szükséges feltétele a pontszám megszerzésének.</p>
</div>
<p>## Önálló feladat - Kontextus-függő mezőtörlés</p>
<p>A jelenlegi alkalmazás a törlésnél a teljes számológép állapotát törli. Valósítsuk meg, hogy ha már az első szám és jelet megadtuk, és a második számra is elkezdtünk írni, akkor a <em>C</em> helyett <em>CE</em> felirat legyen a gombon, és ennek megnyomása csak a második számot törli (a gomb ekkor visszavált a <em>C</em> működésre).</p>
<p>!!!example "BEADANDÓ (1 pont)"
Készíts egy <strong>képernyőképet</strong>, amin látszódik a számológép <strong>CE* gombja</strong> (emulátoron, készüléket tükrözve vagy képernyőfelvétellel), a <strong><code>CalculatorFragment</code> osztály ehhez tartozó része,</strong> valamint a <strong>neptun kódod a kódban valahol kommentként</strong>.</p>
<div class="highlight"><pre><span></span><code>A képet a megoldásban a repository-ba f5.png néven töltsd föl.

A képernyőkép szükséges feltétele a pontszám megszerzésének.
</code></pre></div>

<hr>
<div class="md-source-file">
Expand All @@ -2086,8 +2079,8 @@ <h2 id="onallo-resz-elozmenyek-torlese">Önálló rész - Előzmények törlése
</path>
</svg>
</span>
<span title="2023. szeptember 27. 23:24:42">
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago"><span class="timeago" datetime="2023-09-27T23:24:42+02:00" locale="hu"></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2023-09-27</span>
<span title="2024. március 5. 13:57:41">
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago"><span class="timeago" datetime="2024-03-05T13:57:41+01:00" locale="hu"></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2024-03-05</span>
</span>
</span>

Expand All @@ -2102,7 +2095,9 @@ <h2 id="onallo-resz-elozmenyek-torlese">Önálló rész - Előzmények törlése
</svg>
</span>
<span>Szerzők</span>
<nav><a href="https://github.com/gazdilaci" target="_blank" rel="noopener noreferrer" class="md-author" title="@gazdilaci">
<nav><a href="https://github.com/danim1130" target="_blank" rel="noopener noreferrer" class="md-author" title="@danim1130">
<img src="https://avatars.githubusercontent.com/u/8405234?v=4?size=72" alt="@danim1130">
</a><a href="https://github.com/gazdilaci" target="_blank" rel="noopener noreferrer" class="md-author" title="@gazdilaci">
<img src="https://avatars.githubusercontent.com/u/23335752?v=4?size=72" alt="@gazdilaci">
</a><a href="https://github.com/hlev97" target="_blank" rel="noopener noreferrer" class="md-author" title="@hlev97">
<img src="https://avatars.githubusercontent.com/u/60049137?v=4?size=72" alt="@hlev97">
Expand Down
2 changes: 1 addition & 1 deletion search/search_index.json

Large diffs are not rendered by default.

36 changes: 18 additions & 18 deletions sitemap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,92 +2,92 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2024-02-22</lastmod>
<lastmod>2024-03-05</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>
Binary file modified sitemap.xml.gz
Binary file not shown.

0 comments on commit 8b1610b

Please sign in to comment.