niedziela, 18 listopada 2012

Typowe zastosowania przesłaniania metod cyklu życia aktywności.


Czas wywoływania
Kiedy przesłaniane
Opis i uwagi

onCreate

Wywoływana, kiedy aktywność jeszcze nie istnieje i trzeba ją utworzyć.
Zawsze, przy czym należy wywołać metodę super, co zresztą dotyczy wszystkich przesłanianych metod cyklu życia.
Tu należy umieścić kod inicjujący. Jeśli aktywność jest uruchamiana po raz pierwszy, nie ma zapisanego stanu (przekazany obiekt Bundle to null ).
Jeśli aktywność wcześniej usunięto i jest ponownie uruchamiana, może mieć stan ( obiekt Bundle to wartość zapisana w ostatnim wywołaniu metody onSaveInstanceState ).

sobota, 17 listopada 2012

Metody cyklu życia aktywności


Metoda
Opis
Następna metoda
onCreate
Wywoływana przy początkowym tworzeniu aktywności.
To tu należy przeprowadzić standardową statyczną konfigurację – utworzyć widoki, powiązać dane z listami itd. Udostępnia też obiekt klasy Bundle obejmujący wcześniej zamrożone stany aktywności (jeśli taki obiekt istnieje).

Następną metodą zawsze jest onStart
onStart
onRestart
Wywoływana po zatrzymaniu aktywności, ale przed jej ponownym uruchomieniem.

Następna metodą zawsze jest onStart
onStart

Kompletne środowisko programistyczne


Pod adresem : http://developer.android.com/sdk/index.html

od jakiegoś czasu znajduje się kompletne środowisko do pisania, testowania i uruchamiania programów dla Androida.



wtorek, 6 listopada 2012

Wprawka - przypomnienie ListView

Tym razem tak dla przypomnienia taka malutka wprawka z ListView

Programik bardzo prosty


Wyświetlana jest lista wypełniona elementami z tablicy.
Po wybraniu jednego z nich sprawdzane jest id wyboru i wyświetlany jest stosowny tekst w polu tekstowym.


Kod źródłowy jak zwykle w linku poniżej

poniedziałek, 29 października 2012

Zgadula 10


Właśnie ukończyłem kolejną i chyba ostatnią wersję gierki zgadula.

Zdaję sobie sprawę że jest to tylko wprawka pisana tak dla poćwiczenia i wiele osób będzie miało co do tego projekciku wiele uwag. 

W ustawieniach dodano:
 - informację o graczu „Nick”,
- znacznik „sms” czy w wysyłać info o wygranej,
-  „nr tel.” – numer telefonu  na jaki wysłać sms'a z wynikiem,
- znacznik „plik” – czy zapisać wynik w pliku lokalnym,
- „nazwa pliku” w jakim zapisać wyniki,
- znacznik „mail” – czy wysyłać maila z wygraną,
- „nazwa_mail” adres na jaki wysłać wynik.

Poza tym wyniki są zapisane w bazie danych a puknięcie w dany wpis wywołuje menu podręczne z możliwością usunięcia wpisu.

Wiele zmian w aktywności wygrana.

Plik gotowego projektu do pobrania:

wtorek, 23 października 2012

Start strony z moimi wprawkami


Wszystkie pliki z tego bloga od dziś znajdują się na stronie

http://develop.android.turka.net.pl/


Zmiana formy

Od następnego wpisu będę zamieszczał wyczerpujące komentarze w kodzie projektów a na blogu tylko informacje co i jak zrobiłem.

Planuje Zgadulę wyposażyć w :
- wysyłanie SMS o wygranej na wskazany nr telefonu
- wysyłanie maila o wygranej na wskazany adres
- zapisywanie do plików lokalnych rankingu
- zapisywanie rankingu w bazie SQL
- wysyłanie informacji o wygranej na serwis internetowy



Aktywność Ustawienia


Jedna metoda odczytująca nazwę gracza


package pl.net.turka.android.develop.przyklad_04;

import android.content.Context;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
public class Ustawienia extends PreferenceActivity {
 
   
    private static final String OPC_NICK = "nick" ;
    private static final String OPC_NICK_DOM = "";
   
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.ustawienia);
    }
    /** Pobiera bieżącą wartość opcji Podpowiedzi */
   
    public static String wezNick(Context kontekst) {
        return PreferenceManager.getDefaultSharedPreferences(kontekst)
            .getString(OPC_NICK, OPC_NICK_DOM);    
    }
   
}

Aktywność Wygrana


W zasadzie nic ciekawego
O wszystkich elementach było już wcześniej

Nowością jest  odczytanie przekazanych parametrów i odczytanie danych o nazwie gracza


package pl.net.turka.android.develop.przyklad_04;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class Wygrana extends Activity implements OnClickListener{

Opis aktywności Gra.java


Na początku klasycznie import bibliotek i pakietów
package pl.net.turka.android.develop.przyklad_04;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;


Opis aktywności Zgadula


Na początku jak zawsze import bibliotek i pakietów

package pl.net.turka.android.develop.przyklad_04;
import pl.net.turka.android.develop.przyklad_04.Gra;
import pl.net.turka.android.develop.przyklad_04.R;
import pl.net.turka.android.develop.przyklad_04.Ustawienia;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

Definicja klasy Zgadula informacja że będziemy korzystać z OnClickListener

Opis plików w Zgaduli


Na początek troszkę o ważnych plikach z naszego projektu.

Nasz program składa się z 3 layout ( widoków ) :
activity_zgadula.xml
gra.xml
wygrana.xml

Ekran activity_zgadula.xml jest ekranem startowym który posiada 4 przyciski


poniedziałek, 22 października 2012

Przykład 04 Zgadula


Właśnie skończyłem szkic nowej wprawki.

Prosta gierka Zgadula.

Program w zależności od poziomu trudności generuje liczbę całkowitą  od 1 do 5, 10 lub 100.

Zadaniem gracza jest odgadnąć tą liczbę w jak najmniejszej ilości razy i w jak najkrótszym czasie.




W następnym poście opiszę kod programu
Link do pobrania kompletnego projektu

piątek, 19 października 2012

Przykład 3 Prosty Kalkulator



Tym razem troszkę więcej zabawy.
Napiszemy prosty kalkulator który będzie składał się z dwóch pól tekstowych do których wprowadzać będziemy liczby. Czterech przycisków odpowiedzialnych za wybór działania +, -,  *, /. Dwóch pól tekstowych w których przedstawimy wyniki.

Skorzystamy też z pliku zasobów lokalnych strings.xml

Nasz layout będzie wyglądał następująco:




Przykład 2


Program z poprzedniego przykładu nie miał praktycznego zastosowania a miał jedynie posłużyć do zapoznania się ze środowiskiem programistycznym.
Dzisiejszy przykład jest też trywialny a ma pokazać w jaki sposób do naszego programu dodać kolejne elementy interfejsu i jak z nich korzystać.

Nasz layout zmodyfikowałem w następujący sposób:

Zaczynamy


Zaczynamy.

Gotowy projekt programu można ściągnąć korzystając z linka na dole tego wpisu.

Po zainstalowaniu i skonfigurowaniu środowiska „eclipse” przyszedł czas na stworzenie  pierwszego programu.

Po uruchomieniu środowiska wybieram kolejno: