0

W poprzedniej części kursu poznaliśmy budowę struktury XML programu odpowiadającej za wygląd aplikacji oraz poprawne rozpoznawanie jej przez system Android. Dziś pobawimy się strukturą wykonywalną programu, która jest oparta na języku programowania Java. Napiszemy reakcję na button stworzony w poprzedniej części.

1. Uruchamiamy Eclipse wraz z naszym projektem i otwieramy plik activity_main.xml w widoku graficznym.

1

 

2. Klikamy dwukrotnie w nasz przycisk do czasu aż pokaże nam się widok tekstowy naszego okna.

3. Do naszego buttona dodajemy parametr android:onClick i jego wartość może być dowolną nazwą np. android:onClick=”przycisk1″

1

 

4. Teraz przechodzimy do pliku /src/(nazwa naszego pakietu)/MainActivity.java

1

 

5. Ukaże się znany niektórym widok języka Java. To tutaj będziemy pisać część wykonywalną dla danego activity lub usługi działającej w tle. Dla przypomnienia pokażę podstawową budowę tego pliku

package – nazwa pakietu do którego należy ten plik

import – sekcja zawierająca nazwę innych pakietów z których będziemy korzystać.

public class itd. – tutaj znajduje się główna klasa oraz  inne obiekty podlegające pod tą klasę. Domyślnie kreator dodaje trochę własnego kodu, który poprawnie zainicjuje naszą aplikację. W naszym przypadku dodany został również kod odpowiadający za przycisk ustawień w pasku akcji (Action Bar).

6. Teraz stwórzmy procedurę o takiej samej nazwie jaką spisaliśmy we właściwościach buttona. Pamiętajmy jednak, że wszystkie funkcje onClick, muszą być publiczne i nie powinny zwracać wartości oraz muszą mieć tylko jeden parametr View. Będzie to wyglądało następująco:

1

 

7. Okazało się jednak, że pojawił się błąd. Środowisko Eclipse jest bardzo przyjazne i w łatwy sposób umożliwi nam rozwiązanie problemu. Klikamy w ikonę błędu znajdującej się po lewej stronie kodu. Wyświetlą nam się możliwe rozwiązania. My wybieramy opcję pierwszą. Okazało się, że nie dodaliśmy potrzebnego pakietu do naszej aplikacji w sekcji import. Eclipse po wybraniu rozwiązania zrobi to automatycznie.

1

 

8. Rozwińmy sekcję import. Zobaczmy, że teraz znajduje się tam pakiet android.view.View.

9. Do naszego nowego zdarzenia dopiszmy następujący kod:

String tytul = getString(R.string.tytul);
String podtytul = getString(R.string.podtytul);
new AlertDialog.Builder(this)
.setTitle(tytul)
.setMessage(podtytul)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

}
})
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// do nothing
}
})
.setIcon(android.R.drawable.ic_dialog_alert)
.show();

10. Kod jest w miarę prosty. AlertDialog.Builder to konstruktor naszego nowego dialogu. Następne dwie linijki określają tytuł i wiadomość komunikatu. Dalej mamy kod odpowiadający za utworzenie dwóch przycisków (pozytywny i negatywny) do których mamy znane funkcje onClick. Przedostatnia linijka określa ikonę dla dialogu, a na koniec mamy kod wywołujący dialog.

11. Wyskoczy nam masa błędów. Rozwiążmy je w znany nam sposób. Zostawmy jedynie linijki z dwoma stringami, do nich zaraz dojdziemy.

1
12. W naszym kodzie dodałem również dwa stringi. Przy nich znajduje się błąd. Wartością tych stringów są stringi,  ale zapisane w strings.xml. Te dwie części nie odnoszą się do siebie. Jednak istnieje metoda, aby ich używać. My chcemy, aby nasza aplikacja była wielojęzyczna, dlatego używamy takiego sposobu. Funkcja getString pozwala odwołać się do stringów w XML. Przedrostek R.string. oznacza, że nasza wartość znajduje się w pliku strings.xml. Przechodzimy więc do pliku strings.xml i również dodajamy stringi o nazwie tytul i podtytul (jak w kodzie programu). Analogicznie robimy to również dla języka polskiego, jeśli chcemy by ten komunikat był również dostępny po polsku.

1

 

13. Zapisujemy wszystko (File>Save All) i sprawdzamy czy w pliku java błąd nadal występuje. Czasami problem zniknie dopiero po skompilowaniu aplikacji.

14. Na koniec jedno małe ćwiczenie. Spróbujcie zmienić sami wersję oraz nazwę aplikacji.

15. Uruchamiamy naszą aplikację w emulatorze. Sprawdzamy czy aplikacja jest wielojęzyczna oraz czy wykonaliście ćwiczenie poprawnie. Jeśli wszystko zrobiliście dobrze to powinno to wyglądać mniej więcej tak:

16. Na koniec rozwiązanie zadania. Wersja aplikacji znajduje się w pliku AndroidMainfest.xml pod parametrami android:versionCode i android:versionName. Nazwa aplikacji jest zapisane w tym samym pliku w parametrze android:label, jednak odnosi się ona do stringa app_name.

Na koniec tej części dołączam kod naszej aplikacji, który można porównać z własnym: http://1drv.ms/1xPsCf5

W następnej części poznamy czym są intencje oraz jak ważną rolę pełnią. Dowiemy się jak urozmaicić naszą aplikację poprzez dodanie kolejnego okna.

Android 5.0 Lollipop – wrażenia z użytkowania

Wcześniejszy wpis

Angry Birds Transformers

Następny wpis

Powinny Ci się spodobać

Więcej w Cykle