Prerekwizyty. Aby pisać midlety należy zainstalować: JDK 1.2 lub nowszy, CLDC: cldc/download.
|
|
- Radosław Jóźwiak
- 7 lat temu
- Przeglądów:
Transkrypt
1 Java ME 1. Wprowadzenie. 2. Prerekwizyty. 3. Pisanie midletów cykl życia, kompilacja, dystrybucja i uruchomienie. 4. Tworzenie interfejsów użytkownika. 5. Grafika 2D. 6. Korzystanie z sieci. 7. Narzędzia programistyczne. 1
2 Java ME Java ME jest zbiorem technologii oraz specyfikacji, które s ą implementowane przez środowiska JRE dostępne na urządzeniach przenośnych. Najważniejsze technologie wchodzące w skład JME dla telefonów komórkowych to: CLDC (Connected Limited Device Configuration) specyfikacja JSR- 30 (wersja 1.0) i JSR-139 (wersja 1.1) MIDP (Mobile Information Device Profile) specyfikacja JSR-37 (wersja 1.0) i JSR-118 (wersja 2.0) Ponadto istnieje wiele dodatkowych technologii implementowanych przez poszczególne urządzenia, np. JSR-82 Bluetooth, JSR-184 Java 3D, JSR-135 Mobile Media,... 2
3 Prerekwizyty Aby pisać midlety należy zainstalować: JDK 1.2 lub nowszy, CLDC: MIDP cldc/download.html 3
4 Pierwszy midlet import javax.microedition.lcdui.display; import javax.microedition.lcdui.form; import javax.microedition.midlet.midlet; import javax.microedition.midlet.midletstatechangeexception; public class HelloMidlet extends MIDlet { private Form form; public HelloMidlet() { this.form = new Form("HelloMidlet"); protected void destroyapp(boolean b) throws MIDletStateChangeException { protected void pauseapp() { protected void startapp() throws MIDletStateChangeException { Display d = Display.getDisplay(this); d.setcurrent(this.form); 4
5 Midlet cykl życia źródło: 5
6 Kompilacja Do kompilacji midletu należy użyć polecenia javac: javac -d.\ -bootclasspath c:\pathto\midp\classes HelloMidlet.java Po kompilacji należy wykonać tzw. preweryfikacj ę, która przystosowuje klas ę do uruchomienia przez KVM: preverify -classpath c:\pathto\midp\classes; HelloMidlet Wynikowa klasa znajdzie si ę w podkatalogu output. Na zakończenie należy przygotować archiwum jar oraz deskryptor jad. 6
7 Dystrybucja oprogramowania Program JME składa si ę zwykle z dwóch plików: archiwum jar i deskryptora jad. Plik jad zawiera opis programu wraz z lokalizacj ą archiwum, które zawiera midlety. MIDlet-Jar-URL: mehello.jar MIDlet-1: HelloMidlet,,HelloMidlet MIDlet-Name: pierwszy zbior midletow MIDlet-Vendor: Jan Piotrowski MIDlet-Version: MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0 7
8 Dystrybucja oprogramowania W przypadku, gdy posiadamy lokalnie archiwum z programem plik jad nie jest wymagany. W takiej sytuacji odpowiednie wpisy musz ą być dołączone do pliku META-INF/MANIFEST-MF: Manifest-Version: 1.0 MIDlet-1: HelloMidlet,,HelloMidlet MIDlet-Name: pierwszy zbior midletow MIDlet-Vendor: Jan Piotrowski MIDlet-Version: MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0 Testowanie programu: midp -descriptor hello.jad 8
9 Uruchomienie programu Program instalujemy w telefonie zgodnie z instrukcj ą obsługi. Po uruchomieniu ukaże sie następujący ekran: 9
10 Obsługa menu Aby utworzyć menu trzeba stworzyć komendy javax.microedition.lcdui.command. Komendy dodaje si ę do obiektu implementującego javax.microedition.lcdui.displayable. Ponadto komponent zawierający komendy musi ustawić obiekt nasłuchujący javax.microedition.lcdui.commandlistener, który będzie zawierał kod wykonany przy wybraniu pozycji w menu (Command). 10
11 Obsługa menu public class CommandMidlet extends MIDlet implements CommandListener{ private Command exitcommand, infocommand, anycommand; private TextBox box; public CommandMidlet() { this.exitcommand = new Command("Exit", Command.SCREEN, 1); this.infocommand = new Command("Info", Command.SCREEN, 2); this.anycommand = new Command("Command", Command.SCREEN, 2); protected void startapp() { this.box = new TextBox("Command Midlet", "Witamy w midlecie", 256, 0); this.box.addcommand(this.exitcommand); this.box.addcommand(this.infocommand); this.box.addcommand(this.anycommand); this.box.setcommandlistener(this); Display.getDisplay(this).setCurrent(this.box); 11
12 Obsługa menu protected void destroyapp(boolean arg0) { protected void pauseapp() { public void commandaction(command c, Displayable d) { if (c == this.infocommand) { this.box.setstring("wybrano info"); return; if (c == this.anycommand) { this.box.setstring("wybrano command"); return; if (c == this.exitcommand) { this.notifydestroyed(); 12
13 Uruchomienie programu Sposób realizacji menu jest uzależniony od modelu telefonu. Zwykle dostępne s ą dwa lub trzy przyciski oraz kierunki umożliwiające wybór odpowiednich opcji. 13
14 Klasa Ticker Efekt: protected void startapp() { this.box = new TextBox("Ticker Midlet", "Witamy w kolejnym midlecie", 256, 0); this.box.addcommand(this.exitcommand); this.box.addcommand(this.infocommand); this.box.addcommand(this.anycommand); this.box.setcommandlistener(this); this.box.setticker(new Ticker("Java ME jest OK")); Display.getDisplay(this).setCurrent(this.box); 14
15 Formularze protected void startapp() { this.form = new Form("Formularz"); this.form.append(new TextField("Imie", "", 16, TextField.ANY)); this.form.append(new TextField("Nazwisko", "", 16, TextField.ANY)); this.form.append(new TextField("Wiek", "", 3, TextField.NUMERIC)); this.form.append(new TextField("tel.", "", 10, TextField.PHONENUMBER this.form.addcommand(this.exitcommand); this.form.setcommandlistener(this); Display.getDisplay(this).setCurrent(this.form); Wynik: 15
16 Grafika 2D klasa GameCanvas źródło: index.html public class SimpleCanvas extends GameCanvas implements Runnable{ private volatile boolean isrunning; private long delay; private int x, y; private int size; public SimpleCanvas() { super(true); x = getwidth() / 2; y = getheight() / 2; size = 0; delay = 20; public void start() { isrunning = true; Thread t = new Thread(this); t.start(); 16
17 Grafika 2D klasa GameCanvas public void stop() { isrunning = false; public void run() { Graphics g = getgraphics(); while (isrunning == true) { tick(); input(); render(g); try { Thread.sleep(delay); catch (InterruptedException ie) { stop(); private void tick() { size = (size + 1) % 20; 17
18 Grafika 2D klasa GameCanvas private void input() { int keystates = getkeystates(); if ((keystates & LEFT_PRESSED)!=0) x=math.max(0, x-1); if ((keystates & RIGHT_PRESSED)!= 0)x=Math.min(getWidth(),x+1); if ((keystates & UP_PRESSED)!= 0) y=math.max(0, y-1); if ((keystates & DOWN_PRESSED)!= 0)y=Math.min(getHeight(), y+1); private void render(graphics g) { g.setcolor(0xffffff); g.fillrect(0, 0, getwidth(), getheight()); g.setcolor(0x0000ff); g.drawline(x, y, x size, y - 10); g.drawline(x, y, x + 10, y size); g.drawline(x, y, x size, y + 10); g.drawline(x, y, x - 10, y size); flushgraphics(); 18
19 Grafika 2D Midlet public class GameMidlet extends MIDlet implements CommandListener { private Display display; private SimpleCanvas canvas;... public void startapp() { if (canvas == null) { canvas = new SimpleCanvas(); canvas.start(); display = Display.getDisplay(this); display.setcurrent(canvas); public void destroyapp(boolean unconditional) { canvas.stop();... 19
20 Hierarchia lcdgui java.lang.object Displayable Command Graphics Item Ticker Canvas Screen Gauge ChoiceGroup Alert Form List TextBox Stringtem DateField TextField ImageItem Klasa konkretna Klasa abstrakcyjna 20
21 Programowanie sieciowe CLDC 1.0 MIDP 1.0 MIDP
22 Programowanie sieciowe Nawiązanie połączenia odbywa si ę za pomoc ą klasy javax.microedition.io.connector: try { Connection con = Connector.open("protocol:address;parameters"); catch (ConnectionNotFoundExeption e) { // brak sterownika dla protokołu Kilka przykładów url'i: HTTP: Connector.open(" gniazdo: Connector.open("socket://java.sun.com:port"); datagram: Connector.open("datagram://java.sun.com:port"); 22
23 Programowanie sieciowe public class TimeMidlet extends MIDlet implements CommandListener{ private TimeClient client; private Command cexit = new Command("Exit", Command.EXIT, 1); private Command cstart = new Command("GetTime", Command.ITEM, 1); public TimeMidlet() { Form f = new Form("Time Demo"); f.append(new StringItem("Wybierz GetTime...", " ")); f.addcommand(cexit); f.addcommand(cstart); f.setcommandlistener(this); Display.getDisplay(this).setCurrent(f); public void commandaction(command c, Displayable s) { if (c == cexit) notifydestroyed(); else if (c == cstart) { Thread t = new Thread(new TimeClient(this)); t.start();... 23
24 Programowanie sieciowe public class TimeClient implements Runnable { private TimeMidlet parent; private StringItem stime; public TimeClient(TimeMidlet m) { parent = m; Form f = new Form("Time Client"); stime = new StringItem("Time:", " "); f.append(stime); Display.getDisplay(parent).setCurrent(f); public void commandaction(command c, Displayable s) { if (c == Alert.DISMISS_COMMAND) { parent.notifydestroyed(); parent.destroyapp(true); 24
25 Programowanie sieciowe public void run() { SocketConnection sc = null; InputStream is = null; try { sc = (SocketConnection) Connector.open("socket://theta.uoks.uj.edu.pl:13"); is = sc.openinputstream(); StringBuffer sb = new StringBuffer(); int c = 0; while (((c = is.read())!= '\n') && (c!= -1)) sb.append((char) c); stime.settext(sb.tostring()); catch(ioexception e) { Alert a = new Alert("Time", "Błąd", null, AlertType.ERROR); a.settimeout(alert.forever); Display.getDisplay(parent).setCurrent(a); finally { try { if(is!= null) is.close(); if(sc!= null) sc.close(); catch(ioexception e) { e.printstacktrace(); 25
26 Narzędzia programistyczne 1. Eclipse plugin: Eclpseme - pakiet CLDC/MIDP np: Sun Java Wireless Toolkit ( lub ze stron producenta telefonu 2. Netbeans plugin do Netbeans: Netbeans Mobility Pack Inne narzędzia kompresor kodu (obfuscator)
27 Podsumowanie Specyfikacja JME składa si ę z wielu różnorodnych API implementowanych przez poszczególne urządzenia mobilne. Jest to szczególnie istotne w przypadku pisaniu kodu, który ma działać na wielu różnych modelach urządze ń. Ze wględu na szybki rozwój technologii i postępując ą miniaturyzacj ę telefony komórkowe potrafi ą obsługiwać coraz bardziej skomplikowane aplikacje napisane w Javie. Niemniej trzeba pamiętać, że urządzenia mobilne nadal wymagaj ą specjalnego sposobu kompilacji i dystrybucji oprogramowania (midletów). 27
Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2
z wykorzystaniem języka Java ME ćwiczenia 2 Wykorzystanie plików graficznych w MIDlet ach utworzenie obiektu klasy Image (statyczna metoda createimage()) utworzenie obiektu klasy ImageItem dodanie utworzonego
Bardziej szczegółowoPodstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 1
z wykorzystaniem języka Java ME ćwiczenia 1 Budowa aplikacji MIDP utworzenie klasy dziedziczącej z klasy java.microedition.midlet.midlet Klasa musi posiadać przynajmniej trzy metody: startapp() inicjalizacja
Bardziej szczegółowoJava Platform Micro Edition
Java Platform Micro Edition Instalacja środowiska programistycznego Java Platform Micro Edition Software Development Kit 3.0 for Windows z lokalizacji http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html
Bardziej szczegółowoSTWORZENIE PRZYKŁADOWEJ
LABORATORIUM SYSTEMÓW MOBILNYCH STWORZENIE PRZYKŁADOWEJ APLIKACJI MOBILNEJ W J2ME I. Temat ćwiczenia II. Wymagania Wykonanie poprzedniego ćwiczenia III. Ćwiczenie 1. Stworzenie aplikacji Celem ćwiczenia
Bardziej szczegółowoPodstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 3
z wykorzystaniem języka Java ME ćwiczenia 3 Wykorzystanie klasy List do tworzenie menu Klasa List - tworzenie list wyboru (EXCLUSIVE, MULTIPLE, IMPLICIT) Dodatkowe możliwości (dodatkowe komendy, pliki
Bardziej szczegółowoWprowadzenie do J2ME
Wprowadzenie do J2ME Marcin Stachniuk mstachniuk@gmail.com Politechnika Wrocławska Wydział Elektroniki Studenckie Koło Naukowe Informatyki Systemów Autonomicznych i Adaptacyjnych ISA 2 25 listopada 2010
Bardziej szczegółowoLaboratorium z informatyki sem. III/ćw.12 Wydział Transportu PW 2018/19
INSTRUKCJA DO ĆWICZENIA 12 PRZYKŁAD APLIKACJI MOBILNEJ W JAVIE METODYKA POSTĘPOWANIA PRZY TWORZENIU MIDLETU Z TRZEMA EKRANAMI EKRAN 1 GUI WYSOKIEGO POZIOMU (KLASA SCREEN) EKRAN2 GUI WYSOKIEGO POZIOMU (KLASA
Bardziej szczegółowoProgramowanie aplikacji na urządzenia mobilne
Informatyka I Programowanie aplikacji na urządzenia mobilne dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 JME - Java Platform Micro Edition JME platforma Java przeznaczona
Bardziej szczegółowopublic void startapp() { } public void pauseapp() { } public void destroyapp(boolean unconditional) { }
INSTRUKCJA DO ĆWICZENIA 2 METODYKA POSTĘPOWANIA PRZY TWORZENIU MIDLETU Z DWOMA EKRANAMI EKRAN 1 GUI WYSOKIEGO POZIOMU (KLASA SCREEN) EKRAN 2 GUI NISKIEGO POZIOMU (KLASA CANVAS) I Podstawowy szkielet MIDetu.
Bardziej szczegółowoLaboratorium z informatyki sem. III/ćw.11 Wydział Transportu PW 2017/18
INSTRUKCJA DO ĆWICZENIA 11 PIERWSZA APLIKACJA MOBILNA W JAVIE METODYKA POSTĘPOWANIA PRZY TWORZENIU MIDLETU Z TRZEMA EKRANAMI EKRAN 1 GUI WYSOKIEGO POZIOMU (KLASA SCREEN) EKRAN2 GUI WYSOKIEGO POZIOMU (KLASA
Bardziej szczegółowoProgramowanie w języku Java
Programowanie w języku Java Wykład 12: Java Platform, Micro Edition (Java ME) Konfiguracje Standard dla pewnych grup urządzeń Connected Limited Devices Configuration (CLDC) procesor 16-bitowy, 192kB RAM
Bardziej szczegółowoZAPOZNANIE SIĘ Z TWORZENIEM
LABORATORIUM SYSTEMÓW MOBILNYCH ZAPOZNANIE SIĘ Z TWORZENIEM APLIKACJI MOBILNEJ W J2ME I. Temat ćwiczenia II. Wymagania Podstawowe wiadomości z zakresu języka Java Podstawowa znajomość środowiska Eclipse
Bardziej szczegółowoM-biznes: Mobile Business. Realizacja aplikacji mobilnych w języku Java. Typy urządzeń przenośnych. Przykłady zastosowań
M-biznes: Mobile Business Realizacja aplikacji mobilnych w języku Java E-business (Electronic Business): dostęp do komputerowych systemów sprzedaży towarów, usług i informacji za pomocą komputerów osobistych
Bardziej szczegółowoJava programowanie telefonów komórkowych Na podstawie: http://midlety.net/
Java programowanie telefonów komórkowych Na podstawie: http://midlety.net/ Twórcy Javy reklamują ją słusznym hasłem: Wystarczy raz zapisać kod a program można uruchomić wszędzie Zalety JAVA: Ożywienie
Bardziej szczegółowoProgramowanie na komórki
Programowanie na komórki J2ME, MIDP 2.0 Adam Sawicki http://regedit.gamedev.pl/ sawickiap@poczta.onet.pl Grudzień 2007 W prezentacji wykorzystane są fragmenty dokumentacji MIDP 2.1 firmy Sun. Programowanie
Bardziej szczegółowoJ2ME Część II. P.J.Podsiadły
J2ME Część II P.J.Podsiadły Stany aplikacji Szkielet aplikacji import javax.microedition.midlet.*; public class MyMIDlet extends MIDlet { public MyMIDlet() { // konstruktor } public void startapp() { //
Bardziej szczegółowoWątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().
Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public
Bardziej szczegółowoINSTRUKCJA DO ĆWICZENIA 13. Animacja wielowątkowa w aplikacjach JME. Gra logistyczna.
INSTRUKCJA DO ĆWICZENIA 13. Animacja wielowątkowa w aplikacjach JME. Gra logistyczna. I. UTWORZENIE SZKIELETU APLIKACJI 1. Uruchom środowisko programowania NetBeans. Utwórz aplikację typu JME zakładając
Bardziej szczegółowoProgramowanie urządzeń mobilnych na platformie Java ME
Programowanie urządzeń mobilnych na platformie Java ME Piotr Kopniak Wprowadzenie Telefon komórkowy jest urządzeniem bardzo popularnym. Przyzwyczailiśmy się już do tego, że każdy człowiek go ma i dzięki
Bardziej szczegółowoAutor : Mateusz Kupczyk
Technologie biznesu elektronicznego Java 2 Micro Edition J2ME Autor : Mateusz Kupczyk Plan prezentacji Wstęp J2ME - omówienie Szczegółowe omówienie profilu MIDP KVM MIDLet oraz MIDSuite Interfejs użytkownika,
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoSEMINARIUM DYPLOMOWE
Państwowa Wyższa Szkoła Zawodowa w Elblągu SEMINARIUM DYPLOMOWE Gry na urządzenia mobilne Tomasz Gromek, ASK 23-04-2008 r. Według słownika gra jest to zabawa towarzyska, w której występuje element współzawodnictwa,
Bardziej szczegółowoTworzenie i wykorzystanie usług
Strona 1 Co to jest usługa w systemie Android? Usługi HTTP Obsługa wywołania HTTP GET Obsługa wywołania HTTP POST Obsługa wieloczęściowego wywołania HTTP POST Usługi lokalne Usługi zdalne Tworzenie usługi
Bardziej szczegółowoJava. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ
Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu
Bardziej szczegółowoMultimedia JAVA. Historia
Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania
Bardziej szczegółowoJ2ME. Java dla urz¹dzeñ mobilnych. Æwiczenia
IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE
Bardziej szczegółowoI2: J2ME programowanie w NetBeans IDE Wydział Transportu PW semestr /11
INSTALOWANIE NETBEANS IDE 6.9.1 JAVA SE (54MB) ORAZ DOINSTALOWANIE PAKIETU SUN JAVA WIRELESS TOOLKIT 2.5.2_01 FOR CLDC Uwaga: NetBeans działa poprawnie, jeŝeli komputer wyposaŝony jest w co najmniej 512
Bardziej szczegółowoProgramowanie urządzeń mobilnych. dr inż. Tomasz Walkowiak
Programowanie urządzeń mobilnych dr inż. Tomasz Walkowiak Urządzenia mobilne Kieszonkowych rozmiarów urządzenie komputerowe typowo z dotykowym ekranem lub mini-klawiaturą Rodzaje: mobilne komputery (NetBook,
Bardziej szczegółowoPiotr Orzechowski. Technologie Biznesu Elektronicznego
Wydział Informatyki i Zarządzania Politechnika Wrocławska Cele prezentacji Urządzenia mobilne Rynek aplikacji dla urządzeń mobilnych Cele prezentacji 1. Zapoznanie się z charakterystyką rynku aplikacji
Bardziej szczegółowoAgata Gałecka, Martyna Sikorska, Tomasz Cebula. 28 kwietnia 2009
Politechnika Wrocławska Informatyka 28 kwietnia 2009 Agenda 1 do J2ME 2 J2ME 3 4 5 6 Profil 7 Klasa 8 Narzędzia 9 Agenda 1 do J2ME 2 J2ME 3 4 5 6 Profil 7 Klasa 8 Narzędzia 9 Agenda 1 do J2ME 2 J2ME 3
Bardziej szczegółowoAplikacja wielowątkowa prosty komunikator
Aplikacja wielowątkowa prosty komunikator Klient 0 (host 1) Wątek 0 Komponent serwera Wątek pochodny 3.1 Klient 1 (host 2) Wątek 1 Komponent serwera Wątek pochodny 3.2 Host 4 Serwer Wątek 3 Klient 2 (host
Bardziej szczegółowoKrótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.
GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans
Bardziej szczegółowoWspółbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1
Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie
Bardziej szczegółowoWSPÓŁBIEŻNOŚĆ. MATERIAŁY:
WSPÓŁBIEŻNOŚĆ ZAGADNIENIA: procesy, wątki, synchronizacja, synchronizacja w Java 5.0 blokady, egzekutory, zbiory wątków MATERIAŁY: http://docs.oracle.com/javase/tutorial/essential/concurrency/ HTTP://USERS.UJ.EDU.PL/~CIESLA/
Bardziej szczegółowoJęzyki Programowania II Wykład 3. Java podstawy. Przypomnienie
Języki Programowania II Wykład 3 Java podstawy Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania
Bardziej szczegółowoProgramowanie rozproszone w języku Java
Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz
Bardziej szczegółowoProgramowanie obiektowe
Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 3 Java podstawy Przygotował: Jacek Sroka 2 Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo
Bardziej szczegółowoObliczenia równoległe i rozproszone w JAVIE. Michał Kozłowski 30 listopada 2003
Obliczenia równoległe i rozproszone w JAVIE Michał Kozłowski 30 listopada 2003 Wątki w JAVIE Reprezentacja wątków jako obiektów Uruchamianie i zatrzymywanie wątków Realizacja wątków Ograniczenia Mechanizmy
Bardziej szczegółowo1. Co można powiedzieć o poniższym kodzie (zakładając, że znajduje się on w jednym pliku A.java)?
1. Co można powiedzieć o poniższym kodzie (zakładając, że znajduje się on w jednym pliku A.java)? public class A { public int i; { i++; System.out.print(i); public static void main(string[] args) { A a1
Bardziej szczegółowoAplikacje w Javie- wykład 11 Wątki-podstawy
1 Aplikacje w Javie- wykład 11 Wątki-podstawy Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/ http://docs.oracle.com/javase/9/docs/
Bardziej szczegółowoRESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie
RESTful Android Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie Jacek Laskowski jacek@japila.pl http://www.jaceklaskowski.pl wersja 1.0, 08.12.2011 O prelegencie - Jacek Laskowski
Bardziej szczegółowoPodstawy otwartych języków programowania Język Java
Podstawy otwartych języków programowania Język Java Wiktor Wandachowicz Platforma Java Stworzona przez Sun Microsystems, Inc. J2SE Java 2 Standard Edition (platforma ogólnego przeznaczenia/desktop) J2EE
Bardziej szczegółowoObiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1
Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Bardziej szczegółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowoJava. Programowanie Obiektowe Mateusz Cicheński
Java Programowanie Obiektowe Mateusz Cicheński Wielowątkowość Proces a wątek? Thread vs Runnable sleep(), interrupt(), join() Problemy wielowątkowości Obiekty niemodyfikowalne (immutable) Serializacja
Bardziej szczegółowoSposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Bardziej szczegółowoJava jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
Bardziej szczegółowoAplikacja wielow tkowa prosty komunikator
Aplikacja wielow tkowa prosty komunikator Klient 0 (host 1) W tek 0 Komponent serwera W tek pochodny 3.1 Klient 1 (host 2) W tek 1 Komponent serwera W tek pochodny 3.2 Host 4 Serwer W tek 3 Klient 2 (host
Bardziej szczegółowoProgramowanie współbieżne Laboratorium nr 11
Programowanie współbieżne Laboratorium nr 11 Wykonywane w danym momencie programy nazwano procesami [1] - izolowanymi, niezależnie wykonywanymi programami, dla których system operacyjny przydzielał pamięć,
Bardziej szczegółowoAplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Bardziej szczegółowoWielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.
Wielowątkowość Programowanie w środowisku rozproszonym. Wykład 1. Informacje organizacyjne Wymiar godzin: W-30, LAB-15 Zaliczenie wykonanie kilku programów i ich zaliczenie (w trakcie zajęć laboratoryjnych)
Bardziej szczegółowoProgramowanie w języku Java
Programowanie w języku Java Wykład 1: Wprowadzenie http://eclipse.elektron.pk.edu.pl/~sdeniziak/ Hasło: java2012 języku Java 1 Literatura Bruce Eckel, Thinking in Java edycja polska, wydanie. 4, Helion
Bardziej szczegółowoJAVA I SIECI. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html
JAVA I SIECI ZAGADNIENIA: URL, Interfejs gniazd, transmisja SSL, protokół JNLP. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA,
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Bardziej szczegółowoProgramowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Bardziej szczegółowoAplikacje RMI Lab4
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych
Bardziej szczegółowoJava w Urządzeniach Mobilnych
Polsko-Japońska Wyższa Szkoła Technik Komputerowych Java w Urządzeniach Mobilnych Autor: mgr inż. Michał Tomaszewski 2 czerwca 2010 Spis treści 1 Wprowadzenie 1 1.1 Java Micro Edition............................
Bardziej szczegółowoakademia androida Service, BroadcastReceiver, ContentProvider część IV
akademia androida Service, BroadcastReceiver, ContentProvider część IV agenda 1. BroadcastReceiver 2. Service 3. ContentProvider 4. Zadanie 1. 5. Zadanie 2 (domowe). 1. BroadcastReceiver BroadcastReceiver
Bardziej szczegółowoRemote Method Invocation 17 listopada 2010
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja klienckak interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoJava: interfejsy i klasy wewnętrzne
Java: interfejsy i klasy wewnętrzne Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 INTERFEJSY Interfejs to opis co klasa implementująca dany interfejs powinna robić, ale bez określania
Bardziej szczegółowo1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)?
1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)? public static void test1() { Object[] o = new Object[] { "1", "2", "3" ; List l = new ArrayList(Arrays.asList(o));
Bardziej szczegółowoPodejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak (IIPP) 1 Mechanizm
Bardziej szczegółowoRemote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowo1 Atrybuty i metody klasowe
1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich
Bardziej szczegółowoWieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak
Wieloplatformowe aplikacje sieciowe dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak SOAP Serwer: Axis2 / Java Wbudowany komponent nasłuchujący, (Apache / Tomcat) Client Axis2 klient / XML Jeżyk programowania:
Bardziej szczegółowoProgramowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.
Programowanie w Javie cz. 1 Wstęp Łódź, 24 luty 2014 r. Prawdy i mity o Javie Java jest techniką webową? (tak, platforma Java EE, aplety) Java jest bezpieczna? (tak, aplety, brak operowania na pamięci)
Bardziej szczegółowoSWING c.d. przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe.
SWING c.d. ZAGADNIENIA: przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe. MATERIAŁY: http://docs.oracle.com/javase/tutorial/uiswing/dnd/ http://th-www.if.uj.edu.pl/zfs/ciesla/
Bardziej szczegółowoII Tworzenie klasy Prostokąt dziedziczącej z klasy wątku
INSTRUKCJA DO ĆWICZENIA 9 Animacja z wieloma wątkami Projekt1 Utwórz aplikację Swing, która umożliwi rysowanie na panelu 10 prostokątów o tej samej podstawie i losowych wysokościach, niezależnie zmieniających
Bardziej szczegółowoWykład 7: Pakiety i Interfejsy
Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,
Bardziej szczegółowoJęzyk Java wątki (streszczenie)
Programowanie współbieżna Język Java wątki (streszczenie) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Języka Java wątki Autor:
Bardziej szczegółowoAplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java
Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment
Bardziej szczegółowoWspółbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia
Bardziej szczegółowoBadania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid
Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid Tomasz Kuczyński Dział Aplikacji Tomasz Nowak Zespół Bezpieczeństwa Wrocław, 2.12.2010 r. Konferencja i3: internet
Bardziej szczegółowoWspółbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1
Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie
Bardziej szczegółowoLaboratorium Programowania Kart Elektronicznych
Laboratorium Programowania Kart Elektronicznych Programowanie JavaCard Marek Gosławski Przygotowanie do zajęć dokumentacja JavaCard i GlobalPlatform środowisko programistyczne karta JavaCard Potrzebne
Bardziej szczegółowoPodejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak 1 Mechanizm RMI umożliwia
Bardziej szczegółowoJava RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoProgramowanie urządzeń mobilnych
Programowanie urządzeń mobilnych Najważniejsze platformy mobilne Android ios Windows Mobile / Windows Phone 7 Symbian Bada BlackBerry OS Brew Android Producent systemu: Open Handset Alliance Producenci
Bardziej szczegółowoRemote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1
P d jś i bi kt d b d t ó Podejście obiektowe do budowy systemów rozproszonych Dariusz Wawrzyniak (IIPP) 1 interfejs (w języku Java),wywiedziony idi z Remote obie kt aplikacja klie ncka interfe js serw
Bardziej szczegółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Bardziej szczegółowoInterfejsy w Java. Przetwarzanie równoległe. Wątki.
Informatyka I Interfejsy w Java. Przetwarzanie równoległe. Wątki. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Interfejsy w Java Pojęcie interfejsu w programowaniu Deklaracja
Bardziej szczegółowo1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();
1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {; static public void m2() {; void abstract m3(); default static void m4() {; a) Poprawnie zadeklarowano metodę m1() b) Poprawnie
Bardziej szczegółowoPROJEKTOWANIE ABSTRAKCYJNEJ KLASY FIGURA PRZECHOWUJĄCEJ WSPÓLNE CECHY OBIEKTÓW GRAFICZNYCH
Animacja wielowątkowa - gra zręcznościowa. I. UTWORZENIE SZKIELETU APLIKACJI 1. Uruchom środowisko programowania NetBeans. Utwórz aplikację typu Swing tworząc projekt o nazwie Projekt10 2. Dodaj do projektu
Bardziej szczegółowoJAVA?? to proste!! Autor: wojtekb111111
1 JAVA?? to proste!! 2 Niniejszy tutorial przedstawia krótkie wprowadzenie do programowania w języku JAVA. Jakie narzędzia na początku potrzebujemy do rozpoczęcia programowania w tym języku? JDK (java
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowopackage pakieta; import pakietb.b; package pakietb; public class B { B(){} public class A { private B b; A(B b) { this.b = b; } }
1. Co można powiedzieć o poniższym kodzie? package pakieta; import pakietb.b; private B b; package pakietb; public class B { B(){ A(B b) { this.b = b; a) Jego kompilacja nie powiedzie się (w klasie A nie
Bardziej szczegółowoKlasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
Bardziej szczegółowoInstrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse
Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek
Bardziej szczegółowoTECHNOLOGIE INFORMACYJNE
TECHNOLOGIE INFORMACYJNE LAB - SEM IX Prowadzący zajęcia lab: Mgr inŝ. Zbigniew JANIK Dr inŝ. Józef OKULEWICZ Mgr inŝ. GraŜyna SITNICKA Wykład: Prof. Dr inŝ. Lucjan Grochowski TECHNOLOGIE INFORMACYJNE
Bardziej szczegółowoWstęp do JUNG. Omówione elementy wykorzystane w Edge Color Project
JUNG Java Universal Network/Graph Framework JUNG jest to biblioteka służąca do modelowania, analizy i wizualizacji danych reprezentowanych w postaci grafów lub sieci. Architektura JUNGa wspiera różnorodność
Bardziej szczegółowoAutor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1
Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium Architektura CORBA.
Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera)
Bardziej szczegółowoWPROWADZENIE DO JĘZYKA JAVA
WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny
Bardziej szczegółowoWzorce logiki dziedziny
Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),
Bardziej szczegółowoJava RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka stub interfejs serwer szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoProgramy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5.
Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5. Schemat Internetu R R R R R R R 2 Model Internetu 3 Protokoły komunikacyjne stosowane w sieci Internet Protokoły warstwy
Bardziej szczegółowoJava: kilka brakujących szczegółów i uniwersalna nadklasa Object
Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów
Bardziej szczegółowo