<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>android wstęp - Kama Kaczmarek</title>
	<atom:link href="https://kamakaczmarek.net/tag/android-wstep/feed/" rel="self" type="application/rss+xml" />
	<link>https://kamakaczmarek.net/tag/android-wstep/</link>
	<description>Strona z materiałami dla uczniów i nauczycieli</description>
	<lastBuildDate>Fri, 10 Apr 2026 07:54:33 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>1. Android &#8211; wstęp, historia, działanie</title>
		<link>https://kamakaczmarek.net/1-android-wstep-historia-dzialanie/</link>
		
		<dc:creator><![CDATA[Kama]]></dc:creator>
		<pubDate>Thu, 09 Sep 2021 11:26:07 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android wstęp]]></category>
		<category><![CDATA[wstęp]]></category>
		<guid isPermaLink="false">https://kamakaczmarek.net/?p=3005</guid>

					<description><![CDATA[<p>Android został stworzony przy użyciu języka C i zbudowany na jądrze Linuxa, a dodatki (czyli biblioteki i narzędzia) zostały napisane w Javie. Ale czego używać do tworzenia aplikacji na Androida? Niekwestionowanym liderem wg mnie jest IntelliJ IDEA firmy JetBrains. To doskonałe narzędzie do pisania kodu, którego też używam m.in. w programowaniu w języku Java. Jego [&#8230;]</p>
<p>Artykuł <a href="https://kamakaczmarek.net/1-android-wstep-historia-dzialanie/">1. Android &#8211; wstęp, historia, działanie</a> pochodzi z serwisu <a href="https://kamakaczmarek.net">Kama Kaczmarek</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Android został stworzony przy użyciu języka C i zbudowany na jądrze Linuxa, a dodatki (czyli biblioteki i narzędzia) zostały napisane w Javie.</p>
<p>Ale czego używać do tworzenia aplikacji na Androida?</p>
<p>Niekwestionowanym liderem wg mnie jest IntelliJ IDEA firmy JetBrains. To doskonałe narzędzie do pisania kodu, którego też używam m.in. w programowaniu w języku Java. Jego darmowa wersja wspiera tworzenie aplikacji na androida, jednak jeżeli będziemy chcieli napisać taką aplikację przy użyciu HTML, JS i CSS to pozostaje nam wykupienie płatnej wersji (co jest doskonałą inwestycją w przyszłość). W celu pisania aplikacji na Androida przy pomocy IntelliJ należy dodatkowo pobrać i skonfigurować Android SDK.</p>
<p>Jeżeli jeszcze nie stać nas na płatną licencję IntelliJ lub chcemy stworzyć aplikację tylko na Androida, możemy skorzystać z darmowego narzędzia, jakim jest AndroidStudio. Został on dostosowany przez Google tak, aby służył właśnie temu.</p>
<p>Będziemy korzystali właśnie z tego ostatniego rozwiązania, czyli AndroidStudio.</p>
<p>W jakim języku programować na platformę Android?</p>
<p>Do tworzenia aplikacji mobilnych na Androida zwykło się używać:</p>
<ul>
<li>XML do tworzenia UI &#8211; User Interface &#8211; język ten pozwala szybko i łatwo tworzyć oraz modyfikować wygląd naszej aplikacji np. w AndroidStudio. Układ kodu jest przejrzysty i pozwala od razu zobaczyć zmiany, bez konieczności kompilowania i uruchamiania kodu po każdej zmianie.</li>
<li>JAVA do tworzenia warstwy logicznej</li>
<li>SQLite do obsługi baz danych</li>
</ul>
<p>Ten dobór języków jest rekomendowany przez Google.</p>
<p>Oczywiście można użyć innych języków i aplikacji np.</p>
<ul>
<li>HTML, JS i CSS tworząc aplikację w&nbsp; PhoneGap</li>
<li>C# tworząc aplikację w Xamarin</li>
<li>za pomocą silnika Unity w JS, C#</li>
<li>za pomocą silnika Unreal w C++</li>
</ul>
<p>Warto dodatkowo skorzystać z narzędzi np. processing &#8211; do tworzenia wizualizacji graficznych i dźwiękowych oraz takich dostosowanych do VR.</p>
<h4>Wygląd aplikacji &#8211; rekomendacje Google</h4>
<p>Jednym z trendów projektowania aplikacji mobilnych jest Googlowski Material Design dostępny pod adresem: <a href="https://material.io/">material.io</a>.</p>
<p>Główną zasadą projektowania aplikacji jest to, że każdy element ma dokładnie przypisane miejsce w 3-warstwowej hierarchii.</p>
<p>Zasady te opisują jak aplikacja powinna wyglądać oraz jak powinna się zachowywać, a Material Design to coś więcej niż styl, to swoisty język w którym porozumiewają się poszczególne elementy tworzące naszą aplikację.</p>
<p>Na stronie <a href="https://material.io/">Materials Design </a>znajdziemy wiele przydatnych materiałów, zachęcam do zapoznania się z jej treścią. Znajdziecie tam podpowiedzi ad planowania UI, doboru kolorów elementów, czcionki i wiele innych.</p>
<p>Gdzie szukać pomocy?</p>
<p>Najważniejszą zdolnością jaką powinien posiadać każdy człowiek, nie tylko programista, jest umiejętność wyszukiwania informacji. Żadne źródło internetowe nie jest wyczerpującym opracowaniem danego problemu. Należy umiejętnie korzystać z wielu źródeł równolegle. Często nie wystarczy sama dokumentacja języka, dlatego też zalecam korzystanie z platformy StackOverflow, w3schools, Google i innych, na których znajdziemy rozwiązania.</p>
<p>Przykładem problemu na jaki możemy natrafić jest atrybut <a href="https://developer.android.com/reference/android/widget/TextView?hl=en#attr_android:fontFamily"><span class="devsite-heading" role="heading" aria-level="3">android:fontFamily</span></a><span class="devsite-heading" role="heading" aria-level="3">, w dokumentacji nie znajdziemy informacji nt możliwych czcionek do wykorzystania, ale na <a href="https://stackoverflow.com/questions/19691530/valid-values-for-androidfontfamily-and-what-they-map-to">stackoverflow</a> już tak.</span></p>
<h3>Środowisko pracy</h3>
<p>Zanim przejdziemy do AndroidStudio zainstalować należy środowisko JDK, instrukcję i opis znajdziesz <a href="https://kamakaczmarek.net/java-wstep-historia-dzialanie/">w tym materiale</a> oraz edytor kodu np. SublimeText, czy inny w którym lubisz pracować.</p>
<p>Zainstaluj teraz kolejno JDK wg powyższej instrukcji, następnie AndroidStudio oraz preferowany edytor kodu.</p>
<p>Na koniec będziemy musieli zainstalować sterownik USB, by móc testować aplikacje na urządzeniu mobilnym, ale to później.</p>
<h4><strong>AndroidStudio</strong></h4>
<p>Zakładam, że znacie już podstawy Javy (jeżeli nie, niestety od tego musicie zacząć). Zakładam również, że pracowaliście w edytorze IntelliJ (<a href="https://www.udemy.com/course/intellij-idea-ide/">darmowy kurs obsługi programu</a>), ułatwi to bardzo pracę, ponieważ AndroidStudio to zmodyfikowany IntelliJ.</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-3131" src="https://kamakaczmarek.net/wp-content/uploads/as1.png" alt="" width="965" height="684" srcset="https://kamakaczmarek.net/wp-content/uploads/as1.png 965w, https://kamakaczmarek.net/wp-content/uploads/as1-300x213.png 300w, https://kamakaczmarek.net/wp-content/uploads/as1-768x544.png 768w" sizes="(max-width: 965px) 100vw, 965px" /></p>
<p>&nbsp;</p>
<p><img decoding="async" class="aligncenter size-full wp-image-3130" src="https://kamakaczmarek.net/wp-content/uploads/as2.png" alt="" width="1118" height="815" srcset="https://kamakaczmarek.net/wp-content/uploads/as2.png 1118w, https://kamakaczmarek.net/wp-content/uploads/as2-300x219.png 300w, https://kamakaczmarek.net/wp-content/uploads/as2-1024x746.png 1024w, https://kamakaczmarek.net/wp-content/uploads/as2-768x560.png 768w" sizes="(max-width: 1118px) 100vw, 1118px" /></p>
<p>&nbsp;</p>
<p><img decoding="async" class="aligncenter size-full wp-image-3129" src="https://kamakaczmarek.net/wp-content/uploads/as3.png" alt="" width="1127" height="811" srcset="https://kamakaczmarek.net/wp-content/uploads/as3.png 1127w, https://kamakaczmarek.net/wp-content/uploads/as3-300x216.png 300w, https://kamakaczmarek.net/wp-content/uploads/as3-1024x737.png 1024w, https://kamakaczmarek.net/wp-content/uploads/as3-768x553.png 768w" sizes="(max-width: 1127px) 100vw, 1127px" /></p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3128" src="https://kamakaczmarek.net/wp-content/uploads/as4.png" alt="" width="1356" height="927" srcset="https://kamakaczmarek.net/wp-content/uploads/as4.png 1356w, https://kamakaczmarek.net/wp-content/uploads/as4-300x205.png 300w, https://kamakaczmarek.net/wp-content/uploads/as4-1024x700.png 1024w, https://kamakaczmarek.net/wp-content/uploads/as4-768x525.png 768w" sizes="(max-width: 1356px) 100vw, 1356px" /></p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3127" src="https://kamakaczmarek.net/wp-content/uploads/as5.png" alt="" width="546" height="612" srcset="https://kamakaczmarek.net/wp-content/uploads/as5.png 546w, https://kamakaczmarek.net/wp-content/uploads/as5-268x300.png 268w" sizes="(max-width: 546px) 100vw, 546px" /></p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3126" src="https://kamakaczmarek.net/wp-content/uploads/as6.png" alt="" width="1394" height="996" srcset="https://kamakaczmarek.net/wp-content/uploads/as6.png 1394w, https://kamakaczmarek.net/wp-content/uploads/as6-300x214.png 300w, https://kamakaczmarek.net/wp-content/uploads/as6-1024x732.png 1024w, https://kamakaczmarek.net/wp-content/uploads/as6-768x549.png 768w" sizes="(max-width: 1394px) 100vw, 1394px" /></p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3125" src="https://kamakaczmarek.net/wp-content/uploads/as7.png" alt="" width="1301" height="1038" srcset="https://kamakaczmarek.net/wp-content/uploads/as7.png 1301w, https://kamakaczmarek.net/wp-content/uploads/as7-300x239.png 300w, https://kamakaczmarek.net/wp-content/uploads/as7-1024x817.png 1024w, https://kamakaczmarek.net/wp-content/uploads/as7-768x613.png 768w" sizes="(max-width: 1301px) 100vw, 1301px" /></p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3124" src="https://kamakaczmarek.net/wp-content/uploads/as8.png" alt="" width="1310" height="1036" srcset="https://kamakaczmarek.net/wp-content/uploads/as8.png 1310w, https://kamakaczmarek.net/wp-content/uploads/as8-300x237.png 300w, https://kamakaczmarek.net/wp-content/uploads/as8-1024x810.png 1024w, https://kamakaczmarek.net/wp-content/uploads/as8-768x607.png 768w" sizes="(max-width: 1310px) 100vw, 1310px" /></p>
<h2>WSTAWIĆ FILMIK Z NAGRANYM OPISEM UI PROGRAMU</h2>
<p>Opisać szczegółowo lewy panel z widokiem naszego projektu</p>
<p>Gradle Scripts &#8211; system budowania aplikacji. Jeżeli kończymy pracę nad projektem i chcemy przystąpić do publikacji apki w sklepie, to właśnie Gradle zbiera nasz projekt w całość, w format &#8222;apk&#8221;.</p>
<p>app &#8211; drzewo ze składowymi naszego projektu, a w nim:</p>
<ul>
<li>manifests &#8211; zawierający plik o nazwie <a href="https://developer.android.com/guide/topics/manifest/manifest-intro">AndroidManifest.xml</a> &#8211; zawiera podstawowe informacje dla Androida, bez tego nie uruchomimy aplikacji. Każda aplikacja musi zawierać ten plik o niezmienionej nazwie.</li>
<li>java &#8211; zawiera kody źródłowe javy, główny plik aplikacji to MainActivity. Logika aplikacji.</li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Przeanalizujmy linijka po linijce zawartość tego pliku na starcie:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<pre>package com.example.test;<br /><br />import androidx.appcompat.app.AppCompatActivity;<br />import android.os.Bundle;<br /><br />public class MainActivity extends AppCompatActivity {<br />    @Override<br />    protected void onCreate(Bundle savedInstanceState) {<br />        super.onCreate(savedInstanceState);<br />        setContentView(R.layout.activity_main);<br />    }<br />}</pre>
<p><em>package com.example.test;</em> &#8211; jest to nazwa naszego pakietu</p>
<p><em>import&#8230;</em> &#8211; importujemy klasy, których metody/funkcjonalności będziemy wykorzystywać</p>
<p><em>public class MainActivity extends AppCompatActivity {</em> &#8211; klasa MainActivity, która dziedziczy po AppCompatActivity , klasie posiadającej więcej opcji niż Activity</p>
<p><em>@Override</em> &#8211; to słówko oznacza, że coś nadpisujemy, a konkretnie metodę onCreate</p>
<p><em>protected void onCreate(Bundle savedInstanceState) {</em> &#8211; metoda wywoływana podczas uruchamiania aktywności, która w argumencie posiada obiekt typu Bundle, służą one do przesyłania danych między aktywnościami. Metoda onCreate jest równoznaczna z klasą Main w Javie, a Bundle z String[] args.</p>
<p><em>super.onCreate(savedInstanceState);</em> &#8211; wywołujemy metodę onCreate z pierwotnej deklaracji</p>
<p><em>setContentView(R.layout.activity_main);</em> &#8211; tworzy i wyświetla na ekranie zdefiniowany przez nas rozkład (activity_main). </p>
<ul>
<li>res &#8211; czyli zasoby, znajdują się w nim m.in w drawable &#8211; dla grafik, mipmap &#8211; dla ikon, layout &#8211; rozkłady aplikacji, values &#8211; kolory, tablice, style</li>
</ul>
<p>Przydatne strony:</p>
<ul>
<li><a href="https://www.android.com/">https://www.android.com/</a></li>
<li><a href="https://developer.android.com/guide">https://developer.android.com/guide</a></li>
<li><a href="https://developers.google.com/android/for-all/vocab-words?hl=en">słownik z wizualnym objaśnieniem</a></li>
<li><a href="https://developer.android.com/">https://developer.android.com/</a></li>
<li><a href="https://blog.google/products/android/">https://blog.google/products/android/</a></li>
<li><a href="https://stackoverflow.com/">https://stackoverflow.com/</a></li>
<li><a href="https://material.io/">https://material.io/</a></li>
<li><a href="https://material.io/design/color/the-color-system.html#tools-for-picking-colors">narzędzia do wyboru kolorów</a></li>
</ul>
<p>&nbsp;</p>
<p>Artykuł <a href="https://kamakaczmarek.net/1-android-wstep-historia-dzialanie/">1. Android &#8211; wstęp, historia, działanie</a> pochodzi z serwisu <a href="https://kamakaczmarek.net">Kama Kaczmarek</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
