01 Wprowadzenie do j2me

426 views
346 views

Published on

Prezentacja wprowadzająca do podstaw programowania urządzeń mobilnych w j2me. Przygotowana i wygłoszona przez Marcina Stachniuka 29.10.2009.

Prezentacja wygłoszona w ramach Warsztatów programowania telefonów komórkowych w j2me przy Studenckim Kole Naukowym Informatyki Systemów Autonomicznych i Adaptacyjnych ISA^2.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
426
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

01 Wprowadzenie do j2me

  1. 1. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009 Wprowadzenie do J2ME Marcin Stachniuk mstachniuk@gmail.com Politechnika Wrocławska Wydział Elektroniki Studenckie Koło Naukowe Informatyki Systemów Autonomicznych i Adaptacyjnych ISA2 29 października 2009Marcin Stachniuk Wprowadzenie do J2ME 1/50
  2. 2. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Plan prezentacji 1 Wprowadzenie 2 Pierwszy kod 3 Jakie środowisko? NetBeans Eclipse 4 Uruchomienie aplikacji 5 Podsumowanie Marcin Stachniuk Wprowadzenie do J2ME 2/50
  3. 3. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Plan prezentacji 1 Wprowadzenie 2 Pierwszy kod 3 Jakie środowisko? NetBeans Eclipse 4 Uruchomienie aplikacji 5 Podsumowanie Marcin Stachniuk Wprowadzenie do J2ME 3/50
  4. 4. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009The Java Platform http://java.sun.com/javame/technology/index.jsp Marcin Stachniuk Wprowadzenie do J2ME 4/50
  5. 5. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009The Connected Limited Device Configuration http://java.sun.com/javame/technology/index.jsp Marcin Stachniuk Wprowadzenie do J2ME 5/50
  6. 6. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009CLDC 1.0 vs CLDC 1.1 CLDC 1.0 ”odchudzona” java 1.3 pakiety: java.io, java.lang, java.util brak obsługi liczb zmiennoprzecinkowych CLDC 1.1 (JSR-139) obsługa liczb zmiennoprzecinkowych klasy Double i Float rozszerzona klasa Thread Marcin Stachniuk Wprowadzenie do J2ME 6/50
  7. 7. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009CLDC 1.0 vs CLDC 1.1 CLDC 1.0 ”odchudzona” java 1.3 pakiety: java.io, java.lang, java.util brak obsługi liczb zmiennoprzecinkowych CLDC 1.1 (JSR-139) obsługa liczb zmiennoprzecinkowych klasy Double i Float rozszerzona klasa Thread Marcin Stachniuk Wprowadzenie do J2ME 6/50
  8. 8. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Mobile Information Device Profile cz. 1 MIDP 1.0 http GUI RMS Record Management Store MIDP 2.0 https Mobile Media API (MMAPI) The Game API (Sprite, TiledLayer) Obrazy RGB Full Screen Mode Marcin Stachniuk Wprowadzenie do J2ME 7/50
  9. 9. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Mobile Information Device Profile cz. 1 MIDP 1.0 http GUI RMS Record Management Store MIDP 2.0 https Mobile Media API (MMAPI) The Game API (Sprite, TiledLayer) Obrazy RGB Full Screen Mode Marcin Stachniuk Wprowadzenie do J2ME 7/50
  10. 10. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Mobile Information Device Profile cz. 2 MIDP 2.1 poprawiona wersja 2.0 MIDP 3.0 LIBlety uruchamianie wielu midletów bezpieczeństwo Marcin Stachniuk Wprowadzenie do J2ME 8/50
  11. 11. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Mobile Information Device Profile cz. 2 MIDP 2.1 poprawiona wersja 2.0 MIDP 3.0 LIBlety uruchamianie wielu midletów bezpieczeństwo Marcin Stachniuk Wprowadzenie do J2ME 8/50
  12. 12. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Plan prezentacji 1 Wprowadzenie 2 Pierwszy kod 3 Jakie środowisko? NetBeans Eclipse 4 Uruchomienie aplikacji 5 Podsumowanie Marcin Stachniuk Wprowadzenie do J2ME 9/50
  13. 13. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009C++ I1 #include <iostream>23 using namespace std;45 int main(int argc, char **argv)6 {7 cout << ’’Hello World’’ << endl;8 } Marcin Stachniuk Wprowadzenie do J2ME 10/50
  14. 14. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Java SE I1 public class Main {2 public static void main(String [] args) {3 System.out.println(’’Hello World’’);4 }5 } Marcin Stachniuk Wprowadzenie do J2ME 11/50
  15. 15. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Java ME I 1 import javax.microedition.midlet.*; 2 3 public class MyMidlet extends MIDlet { 4 public void startApp() { 5 } 6 7 public void pauseApp() { 8 } 910 public void destroyApp(boolean unconditional) {11 }12 } Marcin Stachniuk Wprowadzenie do J2ME 12/50
  16. 16. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Cykl życia aplikacji I http://developers.sun.com/mobility/midp/articles/fsm/ Marcin Stachniuk Wprowadzenie do J2ME 13/50
  17. 17. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Java ME I Listing 1. 1 import javax.microedition.lcdui.*; 2 import javax.microedition.midlet.*; 3 4 public class Midlet extends MIDlet { 5 public void startApp() { 6 TextBox textBox = new TextBox(’’Moj Pierwszy Midlet’’, 7 ’’Hello World!’’, 20, 0); 8 Display display = Display.getDisplay(this); 9 display.setCurrent(textBox);10 System.out.println(’’Hello World!’’);11 }1213 public void pauseApp() {14 }1516 public void destroyApp(boolean unconditional) {17 }18 } Marcin Stachniuk Wprowadzenie do J2ME 14/50
  18. 18. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Listing 1 w działaniu Marcin Stachniuk Wprowadzenie do J2ME 15/50
  19. 19. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Java ME I Listing 2. 1 import javax.microedition.lcdui.*; 2 import javax.microedition.midlet.*; 3 4 public class Midlet extends MIDlet implements CommandListener { 5 public void startApp() { 6 TextBox textBox = new TextBox(’’Moj Pierwszy Midlet’’, 7 ’’Hello World!’’, 20, 0); 8 Command exitCommand = new Command(’’Koniec’’, Command.EXIT, 1); 9 textBox.setCommandListener(this);10 textBox.addCommand(exitCommand);11 Display display = Display.getDisplay(this);12 display.setCurrent(textBox);13 System.out.println(’’Hello World!’’);14 }1516 public void pauseApp() {17 }18 Marcin Stachniuk Wprowadzenie do J2ME 16/50
  20. 20. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Java ME II19 public void destroyApp(boolean unconditional) {20 }2122 public void commandAction(Command c, Displayable d) {23 if (c.getCommandType() == Command.EXIT) {24 destroyApp(false);25 notifyDestroyed();26 }27 }28 } Marcin Stachniuk Wprowadzenie do J2ME 17/50
  21. 21. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Listing 2 w działaniu Marcin Stachniuk Wprowadzenie do J2ME 18/50
  22. 22. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Plan prezentacji 1 Wprowadzenie 2 Pierwszy kod 3 Jakie środowisko? NetBeans Eclipse 4 Uruchomienie aplikacji 5 Podsumowanie Marcin Stachniuk Wprowadzenie do J2ME 19/50
  23. 23. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Integrated Development Environment - IDE Podstawowe środowisko: Java Platform Micro Edition Software Development Kit 3.0 Najpopularniejsze środowiska: NetBeans Eclipse IntelliJ IDEA Vi / Vim ;) Marcin Stachniuk Wprowadzenie do J2ME 20/50
  24. 24. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009NetBeans 6.7.1 Marcin Stachniuk Wprowadzenie do J2ME 21/50
  25. 25. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009NetBeans download Marcin Stachniuk Wprowadzenie do J2ME 22/50
  26. 26. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009NetBeans Nowy Projekt Marcin Stachniuk Wprowadzenie do J2ME 23/50
  27. 27. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009NetBeans Nazwa Projektu Marcin Stachniuk Wprowadzenie do J2ME 24/50
  28. 28. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009NetBeans Wybranie Platformy Marcin Stachniuk Wprowadzenie do J2ME 25/50
  29. 29. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009NetBeans Finish Marcin Stachniuk Wprowadzenie do J2ME 26/50
  30. 30. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009NetBeans Utworzony Midlet Marcin Stachniuk Wprowadzenie do J2ME 27/50
  31. 31. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009NetBeans Uruchomienie MIDletu Marcin Stachniuk Wprowadzenie do J2ME 28/50
  32. 32. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Eclipse Marcin Stachniuk Wprowadzenie do J2ME 29/50
  33. 33. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Eclipse download Marcin Stachniuk Wprowadzenie do J2ME 30/50
  34. 34. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Eclipse Nowy Projekt Marcin Stachniuk Wprowadzenie do J2ME 31/50
  35. 35. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Eclipse Nazwa Projektu Marcin Stachniuk Wprowadzenie do J2ME 32/50
  36. 36. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Eclipse Właściwości Projektu Marcin Stachniuk Wprowadzenie do J2ME 33/50
  37. 37. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Eclipse Ustawienia Projektu Marcin Stachniuk Wprowadzenie do J2ME 34/50
  38. 38. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Eclipse Dodanie Nowego Midletu Marcin Stachniuk Wprowadzenie do J2ME 35/50
  39. 39. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Eclipse Nazwa Nowego Midletu Marcin Stachniuk Wprowadzenie do J2ME 36/50
  40. 40. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Eclipse Tworzenie Midletu koniec Marcin Stachniuk Wprowadzenie do J2ME 37/50
  41. 41. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Eclipse Utworzony Midlet Marcin Stachniuk Wprowadzenie do J2ME 38/50
  42. 42. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Eclipse Uruchomienie Midletu Marcin Stachniuk Wprowadzenie do J2ME 39/50
  43. 43. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Plan prezentacji 1 Wprowadzenie 2 Pierwszy kod 3 Jakie środowisko? NetBeans Eclipse 4 Uruchomienie aplikacji 5 Podsumowanie Marcin Stachniuk Wprowadzenie do J2ME 40/50
  44. 44. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009JAD i JAR Marcin Stachniuk Wprowadzenie do J2ME 41/50
  45. 45. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Zawartość JAD MIDlet-1: Midlet, , Midlet MIDlet-Jar-Size: 1035 MIDlet-Jar-URL: MobileApplication1.jar MIDlet-Name: MobileApplication1 MIDlet-Vendor: Vendor MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.0 Marcin Stachniuk Wprowadzenie do J2ME 42/50
  46. 46. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Zawartość JAR Marcin Stachniuk Wprowadzenie do J2ME 43/50
  47. 47. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Przesłanie Aplikacji Rysunek by Michał Walczak Marcin Stachniuk Wprowadzenie do J2ME 44/50
  48. 48. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Zawartość JAD - zmodyfikowana MIDlet-1: Midlet, , Midlet MIDlet-Jar-Size: 1035 MIDlet-Jar-URL: http://myserwer.com/MobileApplication1.jar MIDlet-Name: MobileApplication1 MIDlet-Vendor: Vendor MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.0 Marcin Stachniuk Wprowadzenie do J2ME 45/50
  49. 49. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Plan prezentacji 1 Wprowadzenie 2 Pierwszy kod 3 Jakie środowisko? NetBeans Eclipse 4 Uruchomienie aplikacji 5 Podsumowanie Marcin Stachniuk Wprowadzenie do J2ME 46/50
  50. 50. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Czego się dzisiaj nauczyliśmy? Konfiguracje CLDC 1.0 i 1.1 Profile MIDP 1.0 2.0 2.1 3.0 Budowa programu, cykl życia aplikacji Środowiska IDE Uruchomienie Aplikacji Marcin Stachniuk Wprowadzenie do J2ME 47/50
  51. 51. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Pytania ? Marcin Stachniuk Wprowadzenie do J2ME 48/50
  52. 52. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Kolejne spotkanie Temat: Dostęp do GUI niskiego poziomu Prowadzenie: Marcin Stachniuk Data: 5.11.2009 17.00 Gdzie: sala 23 C-3 Marcin Stachniuk Wprowadzenie do J2ME 49/50
  53. 53. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 29 października 2009Więcej informacji Kontakt z autorem: mstachniuk@gmail.com Strona koła naukowego ISA2 http://autonom.ict.pwr.wroc.pl/ Strona warsztatów: http://autonom.ict.pwr.wroc.pl/∼mstachniuk Adres tego dokumentu: http://autonom.ict.pwr.wroc.pl/∼mstachniuk/files/warsztaty2009/02-podstawy-2009.10.29.pdf NetBeans http://www.netbeans.org/ Eclipse http://www.eclipse.org/ Java ME Platform Overview http://java.sun.com/javame/technology/index.jsp Managing the MIDlet Life-Cycle with a Finite State Machine http://developers.sun.com/mobility/midp/articles/fsm/ Java Platform Micro Edition Software Development Kit 3.0 http://java.sun.com/javame/downloads/sdk30.jsp Marcin Stachniuk Wprowadzenie do J2ME 50/50

×