ARCHIWUM '2006


WARSZTATY  (samokształceniowe)
programowania telefonów komórkowych w języku Java 

Organizowane przez  Studenckie Koło Naukowe ISA2  z Politechniki Wrocławskiej

SPIS TREŚCI:

  1. Do obejrzenia:  plakat warsztatów (PDF)

  2. Adres listy dyskusyjnej:  java-mobile autonom.ict.pwr.wroc.pl   

  3. Wykorzystywane oprogramowanie - instalacje

  4. Zestawienie wybranych materiałów do nauki (dostępnych on-line w sieci)

  5. Materiały  I  spotkania z 26.IV

  6. Materiały  II spotkania z 10.V

  7. Materiały  III spotkania z 17.V

  8. Materiały  IV spotkania z 24.V
    . . .

  9. Bieżące problemy - pytania - odpowiedzi


Ad. 3. Wykorzystywane oprogramowanie - instalacje

Podczas warsztatów będziemy wykorzystywać następujące oprogramowanie:

Obecnie środowisko NetBeans jest dystrybuowane razem z JDK 5.0:
Download J2SE Development Kit 5.0 Update with NetBeans IDE 5.0 Bundle
więc wystarczy "posadzić" ten zestaw i doinstalować w/w Mobility Pack.

 

Ad. 5. Materiały pomocnicze pierwszego spotkania (26 kwietnia 2006)

midlet_0.java Najkrótszy poprawnie kompilowany MIDlet,
odpowiednik programu  void main( ){ }  z języka C++   
midlet_1.java Pierwszy MIDlet z pojedynczym obiektem graficznego interfejsu
(tylko wyświetlenie nagłówka formularza - brak komunikacji z użytkownikiem)  
midlet_2.java Dodanie komunikacji z użytkownikiem:
 - dodanie komendy/przycisku "Exit" kończącego działanie MIDletu
 -  implementacja interfejsu CommandListener
    oprogramowanie metody commandAction( ... )  
midlet_3.java Prymitywny "Kalkulator" umożliwiający policzenie sumy dwóch liczb całkowitych
wprowadzanych przez użytkownika za pomocą klawiatury urządzenia.

 

Ad. 6. Materiały pomocnicze drugiego spotkania (10 maja 2006)

graphics.zip Demonstracja możliwości tworzenia grafiki za pomocą klasy Canvas:
  - rysowanie linii, prostokąta, okręgu, trójkąta, tekstów, obrazka
  - sterowanie kolorem i stylem linii (ciągła / kropkowana) 
JavaGochi.zip Kod źródłowy programu JavaGochi opisanego w materiałach
Chapter 3. MIDP Programming z książki J2ME Application Development  
  - skalowanie i dopasowywanie grafiki do wielkości wyświetlacza,
  - przesuwanie układu współrzędnych - Graphics.translate(int,int)
  - wprowadzanie danych tekstowych podczas wyświetlania grafiki


Ad. 7. Materiały pomocnicze trzeciego spotkania (17 maja 2006)

AZolichOpen.zip MIDlet, który odczytuje plik tekstowy o nazwie zadawanej za pomocą TextField
i wyświetla jego zawartość w pełnoekranowym TextBox 
AZolichSave.zip MIDlet. który pozwala zapisać w systemie plików urządzenia
zawartość tekstu przygotowanego za pomocą TextBox.

 

Ad. 8. Materiały pomocnicze czwartego spotkania (24 maja 2006)

The Java ME Device Table

Device Database -J2ME Polish

Odsyłacze do stron zawierających zestawienia informacji na temat: telefonów, producentów, modeli, oprogramowania Java:
wersje MIDP/CLDC, parametry ekranu itp.
TestRecordStore.zip Kody źródłowe do drugiej części prezentacji Marka Piaseckiego
n/t pamięci RecordStore.
GetProperties.zip

GetPropertiesMIDlet.java

GetProperties.jar
GetProperties.jad

Program napisany w ramach ostatnich zajęć (projekt NetBeans)
- odczytywanie własciwości systemowych (właściwie to stworzony od nowa w oparciu o doświadczenia z tych warsztatow :) ).
Zdaje się działać poprawnie  (przynajmniej na emulatorze, nie mam telefonu żeby sprawdzić). Może ktoś będzie chciał zrobić sobie z niego użytek. Wszelkie uwagi i poprawki mile widziane.

A. L.

 


Problemy - pytania - odpowiedzi
pojawiające się podczas spotkań i na liście dyskusyjnej.
Znasz rozwiązanie - napisz!

  1. WTK umożliwia jedynie uruchamianie wcześniej przygotowanego kodu.
    Jakie darmowe środowisko będzie najwygodniejsze do edycji i debuggowania MIDletów?

    Odpowiedź:

    1) Temat: Ladne, profesjonalne i darmowe srodowisko graficzne :-)

    Witam.
    Jako środowisko graficzne polecam NetBeans.
    W tej chwili korzystam z niego pod SuSE 10. Z www.sun.com ściągnąłem pakiet jdk1.5.0_06,
    który zawiera w sobie wszystko co jest potrzebne do obłsugi Javy + NetBeans :D.
    Do tego doinstalowałem jeszcze NetBeans mobility 5.0 (tez z www.sun.com)
    i wszystko działa pięknie :-). To wszystko w sumie daje ładnie wyglądające
    środowisko programistyczne z oblsługą Midletów (pakiet NetBeans mobility).
    W jednym miejscu piszemy oraz uruchamiamy programy.
    Mozna nawet wybierać kolorki skórek od aparatu komórkowego ;-).
    Oczywiście są też wersje pod Winde, jak i inne systemy operacyjne.

    Pozdrawiam R. T.

    2) Jako uzupełnienie powyższej odpowiedzi proponuję lekturę artykułu
    Developer.com's Wireless/Mobile Community Celebrates A Winner
    ze stycznia 2006, który opisuje wyniki głosowania "Product of the Year 2005"
    w kategorii środowisk programistycznych "Wireless/Mobile".
    Wśród piątki finalistów znalazły się (w porządku alfabetycznym):

      J2ME™ Wireless Toolkit   Sun Microsystems Inc.
      Microsoft® Visual Studio™ 2005   Microsoft Corporation
      NetBeans™ Mobility Pack   NetBean.org
      Nokia Developer's Suite for J2ME™   Nokia
      Sybase® PocketBuilder 2.0   Sybase Inc.

    M. P.

  2. Napisałem prostą przeglądarkę do zdjęć na komórkę  ( browser.zip )
    Ale mam problem. Tuż po uruchomieniu aplikacji
    nie da się wyświetlić pierwszego zdjęcia z listy,
    dopiero przy wybraniu kolejnego program zaczyna wyswietlać. Dlaczego ?
    M.J.

    Odpowiedź: 

    Temat: odnośnie pytania 2 z www

    Chodzi o problem z itemStateChange.
    Otóż jeśli element był już zaznaczony jego ponowne „kliknięcie” nie uruchomi tej metody.
    Jako, że po uruchomieniu midletu zaznaczony jest Duke, dlatego nie można go wyświetlić na początku.

    Moim zdaniem rozwiązania są 2.
    Przerzucić się na CommandListener (załączony przykład, funkcjonalność tragiczna, ale działa),
    lub też spróbować uruchomić program bez zaznaczenia którejkolwiek z opcji.
    Na to jednak nie znalazłem sposobu, tak samo nie potrafię znaleźć
    innego rozsądnego zastępnika metody itemStateChange.

    Pozdrawiam A. Z.

  3. Jakie są zasady wizualnego programowania MIDletów
    w środowisku NetBeans za pomocą "Screen Design'era" ?

    Odpowiedź:  (jak na razie, połowiczna)

    Screen Designer jest na tyle nowym rozwiązaniem (w pakiecie NetBeans Mobile pojawił się w roku 2005)
    że jak dotąd nie udało mi się odnaleźć w sieci żadnych wyczerpujących materiałów na ten temat,
    a odpowiedni "Help" z pakietu NetBeans Mobile, jest więcej niż skromny.

    Póki co, polecam artykuł:  Exploring the NetBeans Visual Mobile Designer
    który dość przystępnie prezentuje ideę pracy ze Screen Designer'em.

    Marek Piasecki

  4. Jak odblokować edycję kodu źródłowego (w okienku "Source")
    dla komponentów wstawianych za pomocą "Screen Design'era" ?

    Odpowiedź:

    Trzeba usunąć (lub zmienić) w kodzie źródłowym *.java MIDletu
    komentarze rozpoczynające się od liter //GEN .....
    znajdujące się na początku i końcu blokowanego fragmentu kodu.
    Np. wpisując spację po znakach komentarza "//_GEN" zamiast  "//GEN

    Screen Designer oznacza granice blokowanych wierszy kodu
    za pomocą niewyświetlanych w oknie "Source" komentarzy linijkowych
    rozpoczynających się od sekwencji //GEN-BEGIN:MVD ,  //GEN-END:MVD
    lub  //GEN-FIRST:MVD ,  //GEN-LAST:MVD  
    np.

    /** This method initializes UI of the application.  //GEN-BEGIN:MVDInitBegin     
    */
    private void initialize() {  //GEN-END:MVDInitBegin

    Edytor blokuje modyfikację wierszy znajdujących się pomiędzy tymi znacznikami
    lub edycję pojedynczej linii ze znacznikiem //GEN-LINE:MVD,
    a same znaczniki nie są wyświetlane.

    Osobny problem, to pytanie, do czego doprowadzi bezkrytyczne usuwanie tych znaczników  ;-)
    M. P.


Ostatnia aktualizacja: 18-03-2008