<?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 Blog</title>
	<atom:link href="http://androidblog.pl/feed/" rel="self" type="application/rss+xml" />
	<link>http://androidblog.pl</link>
	<description>Blog poświęcony tworzeniu oprogramowania na platformę Android. Android mobile software blog.</description>
	<lastBuildDate>Tue, 14 Sep 2010 22:35:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Aktualizacja SDK &#8211; Warning! A folder failed to be renamed or moved.</title>
		<link>http://androidblog.pl/2010/09/14/aktualizacja-sdk-warning-a-folder-failed-to-be-renamed-or-moved/</link>
		<comments>http://androidblog.pl/2010/09/14/aktualizacja-sdk-warning-a-folder-failed-to-be-renamed-or-moved/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 22:35:19 +0000</pubDate>
		<dc:creator>MW</dc:creator>
				<category><![CDATA[SDK]]></category>

		<guid isPermaLink="false">http://androidblog.pl/?p=152</guid>
		<description><![CDATA[Częstym problemem podczas aktualizacji SDK jest błąd: -= Warning ! =- A folder failed to be renamed or moved. On Windows this typically means that a program is using that folder (for example Windows Explorer.) Please close all running programs that may belockingthe directory 'D:\android-sdk\temp\' Najczęściej rozwiązaniem tego problemu jest deaktywacja oprogramowania antywirusowego. Jeżeli to [...]]]></description>
			<content:encoded><![CDATA[<p>Częstym problemem podczas aktualizacji SDK jest błąd:</p>
<blockquote>
<pre>-= Warning ! =-
A folder failed to be renamed or moved. On Windows this typically means that a program is
using that folder (for example Windows Explorer.) Please
close all running programs that may belockingthe directory 'D:\android-sdk\temp\'</pre>
</blockquote>
<p>Najczęściej rozwiązaniem tego problemu jest deaktywacja oprogramowania antywirusowego. Jeżeli to jednak nie pomoże należy</p>
<ul>
<li>stworzenie kopii katalogu &#8230;\sdk\tools np. &#8230;\sdk\tools-Copy</li>
<li>uruchomienie android.bat z katalogu kopii</li>
<li>po pomyślej aktualizacji, która tak na prawdę aktualizuje bazowy katalog tools usunąć &#8230;\sdk\tools-Copy</li>
</ul>
<p style="text-align: right;"><em><a href="http://code.google.com/p/android/issues/detail?id=4410#c13">Żródło</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://androidblog.pl/2010/09/14/aktualizacja-sdk-warning-a-folder-failed-to-be-renamed-or-moved/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Co nowego w Android 2.2</title>
		<link>http://androidblog.pl/2010/05/21/co-nowego-android-22/</link>
		<comments>http://androidblog.pl/2010/05/21/co-nowego-android-22/#comments</comments>
		<pubDate>Fri, 21 May 2010 22:52:37 +0000</pubDate>
		<dc:creator>MW</dc:creator>
				<category><![CDATA[Pozostałe]]></category>
		<category><![CDATA[android 2.2]]></category>
		<category><![CDATA[Cloud To Device Messaging API]]></category>
		<category><![CDATA[google io]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://androidblog.pl/?p=127</guid>
		<description><![CDATA[Wczoraj zakończyła konferencja Google I/O 2010. Obok masy nowości  związanych z produktami Google nie mogło zabraknąć informacji na temat Androida. Przede wszystkim, co było do przewidzenia ogłoszono wersję 2.2 (Froyo). Just-In-Time Compiler, Apps On SD Card czy nowy, zmieniony Market to jedne z ważniejszych zmian. Nie będę opisywał wszystkich nowości związanych z tą wersją systemu (polecam [...]]]></description>
			<content:encoded><![CDATA[<p>Wczoraj zakończyła konferencja <a href="http://code.google.com/intl/pl-PL/events/io/2010/">Google I/O 2010</a>. Obok masy nowości  związanych z produktami Google nie mogło zabraknąć informacji na temat Androida. Przede wszystkim, co było do przewidzenia ogłoszono wersję 2.2 (Froyo). <em>Just-In-Time Compiler, Apps On SD Card </em>czy nowy, zmieniony Market to jedne z ważniejszych zmian. Nie będę opisywał wszystkich nowości związanych z tą wersją systemu (polecam wpis na oficjalnym blogu: <a href="http://android-developers.blogspot.com/2010/05/android-22-and-developers-goodies.html">Android 2.2 and developers goodies</a>) ale chciałbym się skupić na dwóch bardzo ciekawych zmianach: <em>Cloud To Device Messaging API </em>oraz udoskonaleniu przeglądarki.</p>
<h3>Cloud To Device Messaging API</h3>
<p>Jedna z nowych rzeczy, która zrobiła na mnie duże wrażenie. API daje możliwość wysyłania poprzez &#8222;chmurę&#8221; wiadomości do urządzenia. Nie przyglądałem się jeszcze <a href="http://code.google.com/intl/pl-PL/android/c2dm/index.html">dokumentacji</a> ale w skrócie pozwala ono zdalnie wywołać <em><a href="http://developer.android.com/reference/android/content/Intent.html">Intent</a> </em>na urządzeniu (bardzo dobrze przedstawione jest to w keynocie, który znajduje się poniżej; za pomocą dodatku do przeglądarki Chrome wysłana zostaje na telefon pozycja z Google Maps). API znacznie ułatwi aktualizację danych w aplikacjach, w których istotne jest aby dane były jak najnowsze. Przykładem mogą być wszelkie aplikacje do twitter, blipa, komunikatory internetowe itd. Albo chociażby aplikacje pozwalające w łatwy sposób przesyłać dane z komputera na telefon. Przykład: słuchamy ciekawego radia na Last.fm na komputerze stacjonarnym, jednym kliknięciem możemy włączyć to samo radio na telefonie i wyjść z domu :)</p>
<h3>Zmiany w aplikacji przeglądarki</h3>
<p>Od dawna nie jest tajemnicą, że Google pracuje nad systemem operacyjnym, którym głównym elementem będzie Chrome jako środowisko do uruchamiania (web)aplikacji. Google bardzo mocno pracuje nad przyśpieszaniem JavaScriptu (bardzo dobry wpis na Coding Horror na temat JavaScript: <a href="http://www.codinghorror.com/blog/2007/05/javascript-the-lingua-franca-of-the-web.html">JavaScript: The Lingua Franca of the Web</a>) w oparciu którego, buduje swoje wszystkie aplikacje. Zdaje się, że rok temu też na Google I/O podczas prezentacji Google Wave padło pytanie czy powstanie natywna aplikacja na Androida. Odpowiedz była negatywna. Generalnie wszystko sprowadza się do tego, że aplikacje będą uruchamiane w ramach przeglądarki. Przeglądarka w wersji 2.2 systemu (ciekawe czy kiedyś zacznie się nazywać Chrome) staje się najszybszą mobilną przeglądarką jeżeli chodzi o obsługę JavaScriptu dzięki wprowadzeniu <a href="http://code.google.com/p/v8/">silnika renderującego V8</a> wykorzystywanego w Chrome. I co najciekawsze developerzy aplikacji webowych uruchamianych w przeglądarce dostają możliwość korzystania z urządzeń w telefonie, takich jak aparat czy akcelerometr!</p>
<h3>Fragment Google I/O 2010 &#8211; Keynote Day 2  dotyczący Androida</h3>
<p style="text-align: center;"><object width="627" height="379"><param name="movie" value="http://www.youtube.com/v/IY3U2GXhz44&#038;hl=pl_PL&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/IY3U2GXhz44&#038;hl=pl_PL&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="627" height="379"></embed></object></p>
<p style="text-align: center;">
<p style="text-align: left;">PS Mam nadzieję, że aktualizacja bloga będzie się odbywała częściej :)</p>
]]></content:encoded>
			<wfw:commentRss>http://androidblog.pl/2010/05/21/co-nowego-android-22/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problem z requestLocationUpdates w polskim Windowsie Vista</title>
		<link>http://androidblog.pl/2009/05/24/problem-z-requestlocationupdates-w-polskim-windowsie-vista/</link>
		<comments>http://androidblog.pl/2009/05/24/problem-z-requestlocationupdates-w-polskim-windowsie-vista/#comments</comments>
		<pubDate>Sun, 24 May 2009 21:30:18 +0000</pubDate>
		<dc:creator>MW</dc:creator>
				<category><![CDATA[Podstawy]]></category>
		<category><![CDATA[DDMS]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[locationmanager]]></category>
		<category><![CDATA[requestLocationUpdates]]></category>

		<guid isPermaLink="false">http://androidblog.pl/?p=120</guid>
		<description><![CDATA[Blog został trochę zaniedbany ale niestety doba cały czas ma 24 godziny a roboty nie ubywa. Tym razem krótki wpis dotyczący błędu, który można napotkać podczas rozwijania aplikacji z geolokalizacją. Jeżeli korzystamy z metody requestLocationUpdates i nie udaje nam się wysłać pozycji geograficznej do emulatora przy pomocy DDMS a konkretnie zakładki Emulator Control związane jest [...]]]></description>
			<content:encoded><![CDATA[<p>Blog został trochę zaniedbany ale niestety doba cały czas ma 24 godziny a roboty nie ubywa. Tym razem krótki wpis dotyczący błędu, który można napotkać podczas rozwijania aplikacji z geolokalizacją. Jeżeli korzystamy z metody <em>requestLocationUpdates </em>i nie udaje nam się wysłać pozycji geograficznej do emulatora przy pomocy DDMS a konkretnie zakładki <strong>Emulator Control</strong></p>
<p><strong><img class="aligncenter size-full wp-image-121" title="2009-05-24_2311" src="http://androidblog.pl/wp-content/uploads/2009/05/2009-05-24_2311.png" alt="2009-05-24_2311" width="350" height="310" /><span style="font-weight: normal;">związane jest to z polskim formatem liczb w systemie. Istnieją dwa rozwiązania.</span></strong></p>
<h3><span style="font-weight: normal;"><span style="font-weight: normal;">Rozwiązanie 1. Wysyłanie pozycji przez linię poleceń.</span></span></h3>
<pre><strong>C:\Users\macias&gt;telnet localhost 5554
Android console command help:
geo fix -52.3153 21.324417
OK<span style="font-weight: normal;">
</span></strong></pre>
<p><span>Jako, że telnet nie jest instalowany w systemie Vista domyślnie to należy <a href="http://www.tricks.com.pl/gdzie-sie-podzial-program-telnet-windows-vista/">go dodać</a>.</span></p>
<h3><span><span style="font-weight: normal;">Rozwiązanie 2. Zmiana formatu liczb w systemie na angielski.</span></span></h3>
<p><span>Należy wybrać <strong>Panel Sterowania</strong> &gt; <strong>Zegar, język i region</strong>, zakładka <strong>Formaty </strong>i wybrać <em>Angielski. </em>Oczywiście popsuje nam to wszystkie daty i liczby w systemie.</span></p>
<p> </p>
<p><em><span style="font-style: normal;">PS Prawdopodobnie problem występuje również w systemie Windows XP.</span></em></p>
<p><em><span style="font-style: normal;">PS2 W bliżej nieokreślonym terminie powstanie tutorial w jaki sposób tworzyć aplikacje lokalizacyjne :)</span></em></p>
]]></content:encoded>
			<wfw:commentRss>http://androidblog.pl/2009/05/24/problem-z-requestlocationupdates-w-polskim-windowsie-vista/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Tip: Przeciążanie i implementacja metod</title>
		<link>http://androidblog.pl/2009/04/18/eclipse-tip-przeciazanie-i-implementacja-metod/</link>
		<comments>http://androidblog.pl/2009/04/18/eclipse-tip-przeciazanie-i-implementacja-metod/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 22:16:37 +0000</pubDate>
		<dc:creator>MW</dc:creator>
				<category><![CDATA[Eclipse Tips]]></category>

		<guid isPermaLink="false">http://androidblog.pl/?p=96</guid>
		<description><![CDATA[Eclipse zawiera wiele fajnych funkcji ułatwiających pisanie kodu, które na pierwszy rzut oka nie są widoczne. Jedną z takich funkcji jest funkcji jest możliwość wygenerowania metod danej klasy, które można przeciążyć lub implementować. Aby się do niej dostać wystarczy wybrać z menu Source &#62; Override/Implement Methods. Po zaznaczeniu interesujących nas metod klikamy OK a metody [...]]]></description>
			<content:encoded><![CDATA[<p>Eclipse zawiera wiele fajnych funkcji ułatwiających pisanie kodu, które na pierwszy rzut oka nie są widoczne. Jedną z takich funkcji jest funkcji jest możliwość wygenerowania metod danej klasy, które można przeciążyć lub implementować. Aby się do niej dostać wystarczy wybrać z menu <strong><em>Source &gt; Override/Implement Methods. </em><span style="font-weight: normal;">Po zaznaczeniu interesujących nas metod klikamy <em><strong>OK </strong>a metody dodają sie do aktualnie edytowanego pliku źródłowego.</em></span></strong></p>
<p><img class="aligncenter size-full wp-image-97" title="2009-04-18_1353" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-18_1353.png" alt="2009-04-18_1353" width="561" height="554" /></p>
]]></content:encoded>
			<wfw:commentRss>http://androidblog.pl/2009/04/18/eclipse-tip-przeciazanie-i-implementacja-metod/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aktywności (Activities) Cz. 1.</title>
		<link>http://androidblog.pl/2009/04/18/aktywnosci-activities-cz-1/</link>
		<comments>http://androidblog.pl/2009/04/18/aktywnosci-activities-cz-1/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 22:10:46 +0000</pubDate>
		<dc:creator>MW</dc:creator>
				<category><![CDATA[Podstawy]]></category>
		<category><![CDATA[manifest]]></category>
		<category><![CDATA[onclicklistener]]></category>

		<guid isPermaLink="false">http://androidblog.pl/?p=87</guid>
		<description><![CDATA[Po paru wpisach dotyczących zorganizowania samego środowiska dla rozwijania aplikacji na Androida warto byłoby przejść do konkretniejszych rzeczy. Podstawą każdej aplikacji są aktywności (activities). Aktywność w odniesieniu do aplikacji z systemu Windows jest to jedno okno, na którym wyświetlają się kontroliki, z których korzysta użytkownik. Czyli kompleksowa aplikacja składa się ze zbioru aktywności, z którego [...]]]></description>
			<content:encoded><![CDATA[<p>Po paru wpisach dotyczących zorganizowania samego środowiska dla rozwijania aplikacji na Androida warto byłoby przejść do konkretniejszych rzeczy.</p>
<p>Podstawą każdej aplikacji są aktywności (activities). Aktywność w odniesieniu do aplikacji z systemu Windows jest to jedno okno, na którym wyświetlają się kontroliki, z których korzysta użytkownik. Czyli kompleksowa aplikacja składa się ze zbioru aktywności, z którego każda aktywność ma swoją funkcję. Aktywność najcześciej obejmuje cały ekran. Od strony kodu wygląda to tak, że aktywnością jest klasa dziedzicząca po klasie <em><a href="http://developer.android.com/reference/android/app/Activity.html">Activity</a>. </em>W jednym z wczesniejszych postów stworzyliśmy pierwszą aplikację <em>Hello World</em>. Podczas tworzenia projektu w Eclipse automatycznie stworzyła sie pierwsza aktywność w katalogu <em>src. </em></p>
<pre class="brush: java; title: ;">
package androidblog.app;

import android.app.Activity;
import android.os.Bundle;

public class Aplikacja1 extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 }
}
</pre>
<p>Automatycznie również przeciążona jest metoda <em>onCreate</em> (linia 9), która jest wywołana po stworzeniu aktywności. <span id="more-87"></span></p>
<p>Metoda <em><strong>setContentView </strong></em>odpowiada za ustawienie widoku jaki ma zostać wyświetlony dla danej aktywności. Widoki (zapewne zostanie im poświęcony osobny post) pobierane są za pośrednictwem automatycznie generowanej klasy <em>R </em>(od SDK 1.5 znajduje się ona w katalogu <em>gen</em>). Widokiem dla aktywności jest plik XML opisujący wygląd interfejs uzytkownika. Znajduje się on w katalogu <em>res/layout.</em></p>
<h3>Cykl życia aktywności</h3>
<p>Wcześniej wspomniana metoda <em>onCreate </em>wykonywana jest w momencie pierwszego wywołania aktywności. Oczywiście istnieje szereg metod służących obsłudze stanów całego cyklu życia aktywności.</p>
<pre class="brush: java; title: ;">
 @Override
 protected void onRestart() {
 super.onRestart();
 }

 @Override
 protected void onPause() {
 super.onPause();
 }

 @Override
 protected void onResume() {
 super.onResume();
 }

 @Override
 protected void onStart() {
 super.onStart();
 }

 @Override
 protected void onStop() {
 super.onStop();
 }

@Override
protected void onDestroy() {
super.onDestroy();
 }
</pre>
<h3>Zmiana aktywności aplikacji</h3>
<p>W celu zmiany aktywności wykorzystuje sie metodę <em><strong>startActivity</strong></em><em>. </em>Teraz dla przykładu stworzymy aplikację, która na pierwszej aktywności będzie zawierała przycisk do przejscia do drugiej aktywności. Tworzymy nowy projekt o nazwie <em>Aplikacja1</em><em>. </em></p>
<p><em><img class="aligncenter size-full wp-image-104" title="2009-04-18_1437" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-18_1437.png" alt="2009-04-18_1437" width="559" height="717" /></em></p>
<p>Natępnie tworzymy nową aktywność</p>
<p><img class="aligncenter size-full wp-image-105" title="2009-04-18_1438" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-18_1438.png" alt="2009-04-18_1438" width="591" height="182" /></p>
<p>W oknie nowej klasy jako superklasę podajemy klasę <em><strong>Activity </strong></em>z pakietu <em><strong>android.app</strong></em><em>, </em>a jako nazwe podajemy <em>DrugaAktywnosc.</em></p>
<p><img class="aligncenter size-full wp-image-107" title="2009-04-18_1440" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-18_1440.png" alt="2009-04-18_1440" width="578" height="664" /></p>
<p>Dodatkowo nowo dodaną aktywność należy obowiązkowo dodać do pliku manifestu czyli <em><strong>AndroidManifest.xml. <span style="font-style: normal;"><span style="font-weight: normal;">Otwieramy plik manifestu a następnie w zakładne <em><strong>A</strong></em></span><em>pplication </em><span style="font-weight: normal;">w dziale <em><strong>Application Nodes <span style="font-style: normal;"><span style="font-weight: normal;">dodajemy aktywność podajać nazwę klasy reprezentującej tą aktywność.</span></span></strong></em></span></span></strong></em></p>
<p><em><strong><span style="font-style: normal;"><span style="font-weight: normal;"><em><strong><span style="font-style: normal;"><span style="font-weight: normal;"><img class="aligncenter size-full wp-image-111" title="2009-04-19_0000" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-19_0000.png" alt="2009-04-19_0000" width="487" height="276" /><br />
</span></span></strong></em></span></span></strong></em></p>
<p>Mamy dwie aktywności, teraz należy dodać przycisk do widoku pierwszej aktywności. Otwieramy plik <em>main.xml </em>a następnie przeciągamy kontrolkę <em><strong>Button </strong></em>na szablon a następnie zapisujemy szblon i wracamy do pliku klasy pierwszej aktywności.</p>
<p><img class="aligncenter size-full wp-image-108" title="2009-04-18_1932" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-18_1932.png" alt="2009-04-18_1932" width="546" height="203" /></p>
<p>Przycisk należy oprogramować tak aby po kliknięciu na niego zmieniała się aktywność aplikacji.</p>
<pre class="brush: java; title: ;">
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);

 Button przycisk = (Button) findViewById(R.id.Button01);
 przycisk.setOnClickListener(new OnClickListener(){
 public void onClick(View v) {
 startActivity(new Intent(PierwszaAktywnosc.this, DrugaAktywnosc.class));
 }
 });
 }
</pre>
<p>Najpierw metodą <em><strong>findViewById </strong></em>pobieramy element z szablonu (należy go odpowiednio rzutować) a następnie dzięki anonimowej klasie implementującej interfejs <em><strong>OnClickListener </strong></em>tworzymy zdarzenie wywoływanie podczas kliknięcia na przycisk. Samo wywołanie nowej aktywności następuje dzięki, wcześniej wspomnianej, metodzie <em><strong>startActivity</strong></em>, która przyjmuje za argument obiekt klasy Intent (lada dzień będzie o post poświęcony Intentom :)).</p>
<p>Po po uruchomieniu aplikacji i naciśnięciu na przycisk powiniena pojawić się pusta aktywność. Jest jak najbardziej poprawne gdyż nie dodaliśmy do drugiej aktywności żadnego szablonu.</p>
]]></content:encoded>
			<wfw:commentRss>http://androidblog.pl/2009/04/18/aktywnosci-activities-cz-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Opis i instalacja Android 1.5 SDK Preview</title>
		<link>http://androidblog.pl/2009/04/14/opis-i-instalacja-android-15-sdk-preview/</link>
		<comments>http://androidblog.pl/2009/04/14/opis-i-instalacja-android-15-sdk-preview/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 22:52:40 +0000</pubDate>
		<dc:creator>MW</dc:creator>
				<category><![CDATA[SDK]]></category>
		<category><![CDATA[AVD]]></category>
		<category><![CDATA[sdk1.5]]></category>

		<guid isPermaLink="false">http://androidblog.pl/?p=54</guid>
		<description><![CDATA[Przed dwoma dniami Google udostępniło nową wersję SDK dla systemu w wersji 1.5. Nie jest to jeszcze finalne wersja ale zawiera większość funkcji, które będzie zawierało oficjalne wydanie, które ukaże się pod koniec miesiąca. Lista zmian jest bardzo długa, z ciekawszych rzeczy na pewno trzeba wymienić: klawiaturę ekranową, nagrywanie filmów oraz bezpośredni upload na YouTube, [...]]]></description>
			<content:encoded><![CDATA[<p>Przed dwoma dniami Google udostępniło nową wersję SDK dla systemu w wersji 1.5. Nie jest to jeszcze finalne wersja ale zawiera większość funkcji, które będzie zawierało oficjalne wydanie, które ukaże się pod koniec miesiąca. <a href="http://developer.android.com/sdk/preview/features.html">Lista zmian</a> jest bardzo długa, z ciekawszych rzeczy na pewno trzeba wymienić:</p>
<ul>
<li>klawiaturę ekranową,</li>
<li>nagrywanie filmów oraz bezpośredni upload na YouTube,</li>
<li>upload zdjęć na Picasę,</li>
<li>widgety na domowym ekranie,</li>
<li>Live Folder,</li>
<li>oraz sporo nowych Intentów i masę poprawek dotyczących szybkości i poprawności działania aplikacji.</li>
</ul>
<p><img class="size-full wp-image-67" title="2009-04-15_0036" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-15_0036.png" alt="2009-04-15_0036" width="310" /> <img class="size-full wp-image-66" title="2009-04-15_0034" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-15_0034.png" alt="2009-04-15_0034" width="310" /></p>
<p><span id="more-54"></span></p>
<h3>Instalacja SDK oraz aktualizacja ADT</h3>
<p>Przede wszystkim należy pobrać i rozpakować paczkę z nowym SDK dla systemu <a href="http://developer.android.com/sdk/download.html?v=android-sdk-windows-1.5_pre.zip">Windows </a>(wersja dla <a href="http://developer.android.com/sdk/download.html?v=android-sdk-mac_x86-1.5_pre.zip">OS X</a> i <a href="http://developer.android.com/sdk/download.html?v=android-sdk-linux_x86-1.5_pre.zip">Linuxa</a>).  Jako, że zmieniła się struktura SDK należy rownież zaktualizować plugin ADT do wersji 0.9. Paczkę z pluginem należy <a href="http://dl-ssl.google.com/android/ADT-0.9_pre.zip">pobrać</a> a następnie w Eclipse: <em><strong>Help &gt; Software Updates</strong> </em>w zakładce <strong><em>Available Software</em></strong> klikamy <strong><em>Add Site&#8230;</em><em> </em></strong><strong> </strong> następnie <strong><em>Archive </em></strong>i wybieramy paczkę z pluginem <em>ADT-0.9_pre.zip</em>. Na liście powinny pojawić się pakiety (Android DDMS, Android Development Tools) do zainstalowania w wersji 0.9. Wybieramy je i klikamy <strong><em>Install&#8230;</em></strong></p>
<p>Po pomyślnej instalacji pluginu ADT należy zaktualizować ścieżkę do nowego SDK. W Eclipse <strong><em>Window </em>&gt; <em>Preferences</em></strong>,  zakładka <strong><em>Android</em> </strong>pole <em>SDK Location</em>.</p>
<h3>Nowości w ADT</h3>
<p>Najważniejsza zmianą w ADT jest dodanie kreatora do plików XML znacznie ułatwiający tworzenie layoutów czy innych zasobów opartych o te pliki.</p>
<p><img class="aligncenter size-full wp-image-72" title="2009-04-15_0052" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-15_0052.png" alt="2009-04-15_0052" width="705" height="609" /></p>
<h3>Android Virtual Device (AVD)</h3>
<p>Jedną z nowości bezpośrednio dotycząca developerów jest AVD (Android Virtual Device). AVD są to profile wirtualnych urządzeń uruchamianych na emulatorze. AVD określa m.in. jaką wersje systemu ma urządzenie,  rozdzielczość ekranu czy wielkość karty pamięci. Jednocześnie tylko jeden emulator może korzystać z tego samego AVD. Przed uruchomieniem aplikacji wykorzystującej nowe SDK należy stworzyć AVD korzystając z linii poleceń w katalogu SDK <em>tools</em>.</p>
<pre><strong>&gt;android list targets
</strong>Available Android targets:
[1] Android 1.1
     API level: 2
     Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
[2] Android 1.5
     API level: 3
     Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
[3] Add-on: Google APIs
     Vendor: Google Inc.
     Description: Android + Google APIs
     Based on Android 1.5 (API level 3)
     Libraries:
     * com.google.android.maps (maps.jar)
         API for Google Maps
     Skins: QVGA-P, HVGA-L, HVGA (default), QVGA-L, HVGA-P<strong>
</strong>
<strong>
&gt;android create avd --name urzadzenie1 --target 2</strong>
Android 1.5 is a basic Android platform.
Do you wish to create a custom hardware profile [no]no
Created AVD 'urzadzenie1' based on Android 1.5</pre>
<p>Więcej informacji można uzyskać wykonując polecenia <em>android &#8211;help</em>.</p>
<h3>Aktualizacja projektów</h3>
<p>W celu aktualizacji projektów wykorzystujących starsze SDK należy wybrać projekt a następnie <em><strong>Project &gt; Proporties</strong></em> i wybrać docelową wersję systemu w <strong><em>Project Target</em></strong>.</p>
<p><img class="alignleft size-full wp-image-64" title="2009-04-15_0020" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-15_0020.png" alt="2009-04-15_0020" width="683" height="594" /></p>
<h3>Uruchamianie aplikacji</h3>
<p style="text-align: left;">Uruchamianie aplikacji na emulatorze odbywa się tak jak w przypadku wcześniejszych SDK (wybierając polecenie <strong><em>Run &gt; Run</em></strong>) z tą różnicą że domyślnie zostanie wybrany pierwszy kompatybilny z ustawieniami aplikacji profil AVD. Można również zdefiniować profil, który ma zostać wykorzystany przy uruchamianiu konkretnej aplikacji. Defiując nową konfigurację uruchomieniową (<strong><em>Run &gt; Run Configurations</em></strong>) w zakładce <strong><em>Target</em></strong><em> </em>można wybrać profil AVD.</p>
<p style="text-align: left;"><img class="size-full wp-image-62 aligncenter" title="2009-04-15_0017" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-15_0017.png" alt="2009-04-15_0017" width="550" height="157" /></p>
<p style="text-align: left;">Należy pamiętać, że SDK nie jest jeszcze oficjalnie wydane i nie wszystkie może działać tak jak powinno. Google zaleca aby nie udostępniać aplikacji stworzonych przy z wykorzystaniem tej wersji. Dodatkowo oficjalna dokumentacja nie obejmuje szcze w całości funkcji tego SDK.</p>
<p style="text-align: left;">Więcej informacji na oficjalnej stronie SDK: <a href="http://developer.android.com/sdk/preview/">http://developer.android.com/sdk/preview/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://androidblog.pl/2009/04/14/opis-i-instalacja-android-15-sdk-preview/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Rhomobile Mobile Application Development Challenge! &#8211; do wygrania 10.000$</title>
		<link>http://androidblog.pl/2009/04/14/rhomobile-mobile-application-development-challenge/</link>
		<comments>http://androidblog.pl/2009/04/14/rhomobile-mobile-application-development-challenge/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 16:24:27 +0000</pubDate>
		<dc:creator>MW</dc:creator>
				<category><![CDATA[Pozostałe]]></category>
		<category><![CDATA[konkurs]]></category>
		<category><![CDATA[rhodes]]></category>

		<guid isPermaLink="false">http://androidblog.pl/?p=49</guid>
		<description><![CDATA[Firma Rhomobile ogłosiła konkurs, w którym główną nagrodą jest 10.000$. Chodzi o stworzenie aplikacji na urządzenia mobilne w opraciu o Rhodes framework. W skrócie jest to wieloplatformowy framework pozwalający tworzyć aplikacje m.in. dla iPhone&#8217;a, Symbiana, WM i oczywiście dla Androida. Aplikacja musi wykorzystywać jedną z funkcji telefonu, PIM, GPS lub wbudowaną kamerę. Aby wziąć udział [...]]]></description>
			<content:encoded><![CDATA[<p>Firma <a href="http://rhomobile.com">Rhomobile</a> ogłosiła konkurs, w którym główną nagrodą jest 10.000$. Chodzi o stworzenie aplikacji na urządzenia mobilne w opraciu o <a href="http://rhomobile.com/products/rhodes">Rhodes framework</a>. W skrócie jest to wieloplatformowy framework pozwalający tworzyć aplikacje m.in. dla  iPhone&#8217;a, Symbiana, WM i oczywiście dla Androida. Aplikacja musi wykorzystywać jedną z funkcji telefonu, PIM, GPS lub wbudowaną kamerę. Aby wziąć udział w konkursie nalezy zarejestrować się do jutra (15.04.2009) na stronie <a href="http://rhohub.com/contest">http://rhohub.com/contest</a>. Aplikację należy stworzyć do 24 maja br. Więcej informacji na <a href="http://rhomobile.com/contest">stronie konkursu</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://androidblog.pl/2009/04/14/rhomobile-mobile-application-development-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Market &#8211; Podstawowe informacje</title>
		<link>http://androidblog.pl/2009/04/07/android-market-podstawowe-informacje/</link>
		<comments>http://androidblog.pl/2009/04/07/android-market-podstawowe-informacje/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 16:51:49 +0000</pubDate>
		<dc:creator>MW</dc:creator>
				<category><![CDATA[Android Market]]></category>

		<guid isPermaLink="false">http://androidblog.pl/?p=40</guid>
		<description><![CDATA[Android Market jest miejscem gdzie programiści mogą udostępniać za darmo lub sprzedawać swoje aplikacje. Użytkownicy mogą je pobierać, oceniać i komentować. Na dzień dzisiejszy darmowe aplikacje mogą pobierać użytkownicy z następujących krajów: Australia, Austria, Czechy, Holandia, Niemcy, Polska, Singapur, USA, Wielka Brytania, Włochy. Aktualnie aplikacje płatne dostępne są tylko dla użytkowników z Austrii, Niemiec, USA [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://market.android.com">Android Market</a> jest miejscem gdzie programiści mogą udostępniać za darmo lub sprzedawać swoje aplikacje. Użytkownicy mogą je pobierać, oceniać i komentować.</li>
<li>Na dzień dzisiejszy darmowe aplikacje mogą pobierać użytkownicy z następujących krajów: Australia, Austria, Czechy, Holandia, Niemcy, <strong>Polska</strong>, Singapur, USA, Wielka Brytania, Włochy.</li>
<li>Aktualnie aplikacje płatne dostępne są tylko dla użytkowników z Austrii, Niemiec, USA i Wielkiej Brytanii.</li>
<li>Sklep dostępny jest z poziomu urządzenia (nie jest dostępny z emulatora). Ale możliwy jest również dostęp przez przeglądarkę dzięki <a href="http://www.cyrket.com/">Cyrket Android Application Browser.</a></li>
<li>Aby móc dodać swoją aplikację do Marketu przede wszystkim należy się zarejestrować na stronie <a href="http://market.android.com/publish/signup">Developer Singup</a>. Opłata rejestracyjna wynosi $25. Opłata wprowadzona w celu uniknięcia spamu, poza tym przy applestorowych $100 wygląda przystępnie :)</li>
<li>Cena aplikacji musi się zawierać w przedziale $0.99 &#8211; $200. Przy każdym zakupie twórca aplikacji dostaje 70% ceny. Wydaje się że ograniczenie powinno zniknąć. $200 za oprogramowanie to dość mało. Jeżeli na rynku pojawią się netbooki czy notebooki z Androidem wymagania developerów mogą stać się o wiele większe.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://androidblog.pl/2009/04/07/android-market-podstawowe-informacje/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pierwsza aplikacja &#8211; Hello World</title>
		<link>http://androidblog.pl/2009/04/07/pierwsza-aplikacja/</link>
		<comments>http://androidblog.pl/2009/04/07/pierwsza-aplikacja/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 15:59:22 +0000</pubDate>
		<dc:creator>MW</dc:creator>
				<category><![CDATA[Podstawy]]></category>

		<guid isPermaLink="false">http://androidblog.pl/?p=28</guid>
		<description><![CDATA[Wiadomo już jak od zera zainstalować środowisko programistyczne dla Androida, więc teraz przyszedł czas na stworzenie pierwszej aplikacji. Najpierw tworzymy nowy projekt w Eclipse File &#62; New &#62; Android Project. W oknie New Android Project należy podać informacje na temat aplikacji oraz ewentualnie zmienić lokalizację plików na dysku. W oknie Package Explorer pojawił się katalog [...]]]></description>
			<content:encoded><![CDATA[<p>Wiadomo już jak od zera zainstalować środowisko programistyczne dla Androida, więc teraz przyszedł czas na stworzenie pierwszej aplikacji.<br />
<span id="more-28"></span><br />
Najpierw tworzymy nowy projekt w Eclipse <strong><em>File &gt; New &gt; Android Project</em></strong>. W oknie <em><strong>New Android Project</strong> </em>należy podać informacje na temat aplikacji oraz ewentualnie zmienić lokalizację plików na dysku.<img class="aligncenter size-full wp-image-32" title="2009-04-07_1635" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-07_1635.png" alt="2009-04-07_1635" width="563" height="539" /></p>
<p>W oknie <em><strong>Package Explorer</strong> </em>pojawił się katalog z projektem.</p>
<p><img class="aligncenter size-full wp-image-34" title="2009-04-07_1642" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-07_1642.png" alt="2009-04-07_1642" width="244" height="290" /></p>
<ul>
<li><em>src</em> &#8211; zawiera wszystkie pliki źródłowe w języku Java,</li>
<li><em>assets </em>i <em>res &#8211; </em>dwa katalogi zawierające zasoby. Do zasobów z katalogu <em>res </em>dostęp uzyskuje się przez klasę <em>R</em> i są to wszystkie często używane elementy w aplikacji np. elementy graficzne (<em>drawable</em>), wyglądy aplikacji (<em>layouts</em>), czy ciągi znakowe (np. wersje językowe, katalog <em>values</em>). Zasoby w katalogu <em>assets </em>są dostępne jako strumień bajtów za pośrednictwem klasy <em>AssetManager</em>.</li>
</ul>
<p>Główną klasą aplikacji jest <em>PierwszaAplikacja.</em> W tym miejscu należy wspomnieć, że odpowiednikiem formatki z aplikacji okienkowych są aktywności (<em>Activity</em>) dlatego też pierwsza klasa dziedziczy właśnie po klasie <em>Activity</em>. Na razie bez zagłębiania się w kod uruchomimy aplikację, z menu wybieramy <strong><em>Run &gt; Run</em></strong>. Po uruchomieniu emulatora, co chwilę może potrwać, należy wybrać w oknie emulatora <em>Menu </em>aby &#8222;odblokować ekran&#8221; i powinna się pojawić aplikacja Hello World!</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-36" title="2009-04-07_1748" src="http://androidblog.pl/wp-content/uploads/2009/04/2009-04-07_1748.png" alt="2009-04-07_1748" width="600" height="502" /></p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://androidblog.pl/2009/04/07/pierwsza-aplikacja/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalacja Eclipse IDE, ADT i SDK</title>
		<link>http://androidblog.pl/2009/03/29/instalacja-eclipse-ide-adt-i-sdk/</link>
		<comments>http://androidblog.pl/2009/03/29/instalacja-eclipse-ide-adt-i-sdk/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 14:55:01 +0000</pubDate>
		<dc:creator>MW</dc:creator>
				<category><![CDATA[Podstawy]]></category>
		<category><![CDATA[adt]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[vista]]></category>

		<guid isPermaLink="false">http://androidblog.pl/?p=4</guid>
		<description><![CDATA[Aby stworzyć jakąkolwiek aplikację dla systemu Android najpierw trzeba zainstalować i skonfigurować środowisko programistyczne Eclipse, pobrać SDK oraz zainstalować plugin dla Eclipse&#8217;a. Poniższy opis dotyczy systemu Microsoft Vista 32bit ale raczej nie powinno być wielkich rozbieżności względem innych systemów z rodziny Windows. Wymagane jest aby w systemie zainstalowano Java SE Development Kit (JDK) w wersji [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Aby stworzyć jakąkolwiek aplikację dla systemu Android najpierw trzeba zainstalować i skonfigurować środowisko programistyczne Eclipse, pobrać SDK oraz zainstalować plugin dla Eclipse&#8217;a. Poniższy opis dotyczy systemu Microsoft Vista 32bit ale raczej nie powinno być wielkich rozbieżności względem innych systemów z rodziny Windows.</p>
<address style="text-align: justify;">Wymagane jest aby w systemie zainstalowano <strong>Java SE Development Kit</strong> (JDK) w wersji 5 lub 6. Do pobrania ze strony <a href="http://java.sun.com/javase/downloads">http://java.sun.com/javase/downloads</a>. </address>
<p style="text-align: justify;">Najpierw pobieramy wymagane paczki</p>
<ul>
<li><strong>Eclipse IDE</strong>. Na początek wystarczy wersja <span class="packageTitle"><em>Eclipse IDE for Java Developers</em> (wersja dla systemu Windows) </span>- <a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads</a>.</li>
</ul>
<ul>
<li><strong>Android SDK</strong>. Do pobrania ze strony <a href="http://developer.android.com/sdk/">http://developer.android.com/sdk</a> (wersja dla systemu Windows).</li>
</ul>
<h3>Instalacja SDK</h3>
<ol>
<li>SDK rozpakowujemy do katalogu np. <em>c:\androidsdk.</em></li>
<li>Warto na tym etapie dodać zmienną środowiskową w systemie. W tym celu klikamy prawym przyciskiem myszy na <em>Mój komputer &gt; Właściwości &gt;Zaawansowane ustawienia systemu &gt; Zmienne środowiskowe</em> w sekcji <em>Zmienne systemowe</em> edytujemy zmienną <em>Path</em> i dodajemy na końcu adres do katalogu <em>tools</em> w katalogu SDK czyli np. <em>c:\androidsdk\tools</em></li>
</ol>
<h3>Instalacja Eclipse IDE i Android Development Tools</h3>
<p>ADT jest zestawem narzędzi znacznie ułatwiających rozwijanie aplikacji w Eclipse. Dodaje narzędzia do debugowania, tworzenia interfejsu itp.</p>
<ol>
<li>Paczkę z Eclipse rozpakowujemy do katalogu np. <em>c:\eclipse.</em></li>
<li>Po uruchomieniu wybieramy <em>Help &gt; Software Updates&#8230;</em> następnie zakładkę <em>Available Software</em>. Klikamy <em>Add site&#8230;</em> i wpisujemy
<pre>http://dl-ssl.google.com/android/eclipse/</pre>
</li>
<li>Po odświeżeniu repozytorium wybieramy <em>Developer Tools</em> i klikamy <em>Install</em>&#8230;<br />
<img class="alignnone size-medium wp-image-17" title="2009-03-29_1645" src="http://androidblog.pl/wp-content/uploads/2009/03/2009-03-29_1645-300x59.png" alt="2009-03-29_1645" width="300" height="59" /></li>
<li>Po pobraniu ADT i restarcie Eclipse należy skonfigurować plugin. W tym celu wybieramy <em>Window &gt; Preferences</em>. W sekcji Android wybieramy katalog, w którym znajduje się SDK czyli <em>c:\androidsdk.</em></li>
</ol>
<p>Tym sposobem zainstalowaliśmy i skonfigurowaliśmy środowisko do tworzenia aplikacji dla platformy Android.</p>
]]></content:encoded>
			<wfw:commentRss>http://androidblog.pl/2009/03/29/instalacja-eclipse-ide-adt-i-sdk/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

