Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 3

Wielkość: px
Rozpocząć pokaz od strony:

Download "Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 3"

Transkrypt

1 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 graficzne itp.) Przykładowa aplikacja import javax.microedition.midlet.midlet; import javax.microedition.lcdui.*; import java.io.*; public class MenuLista extends MIDlet implements CommandListener { private Display dp; // wykorzystanie klasy List (3 listy: menu główne + listy wyboru) private List mainmenu, samochodylista, plytylista; // wykorzystanie klasy Form (formularz w ustawieniach) private Form formularz; // wykorzystanie klasy TextField (pole tekstowe w formularzu) private TextField tf; 1

2 // wykorzystanie klasy Alert (informacje o programie) private Alert info; // wykorzystanie klasy Command (polecenie OK na ekranach) private Command okcommand; // wykorzystanie klasy Image (obrazki w menu głównym i na listach); private Image samochod, plyta, konfiguracja, informacja, wyjscie; public MenuLista() { // utworzenie menu głównego aplikacji (wykorzystanie listy typu IMPLICIT) mainmenu = new List("Menu aplikacji", List.IMPLICIT); // utworzenie obrazków z plików znajdujących się w katalogu res samochod = Image.createImage("/car.png"); plyta = Image.createImage("/cd.png"); konfiguracja = Image.createImage("/settings.png"); informacja = Image.createImage("/info.png"); wyjscie = Image.createImage("/exit.png"); catch (IOException e) { System.out.println("Brak obrazka!"); // dodanie kolejnych pozycji menu (drugi parametr obiekt klasy Image) mainmenu.append("samochody", samochod); mainmenu.append("płyty CD", plyta); mainmenu.append("konfiguracja", konfiguracja); mainmenu.append("informacja o programie", informacja); mainmenu.append("wyjście", wyjscie); // ustawienie nasłuchiwacza (bieżąca klasa) mainmenu.setcommandlistener(this); // utworzenie polecenia OK okcommand = new Command("OK", Command.OK, 0); // utworzenie listy samochodów (wykorzystanie listy typu EXCLUSIVE) i dodanie // pozycji samochodylista = new List("Wybierz samochód", List.EXCLUSIVE); samochodylista.append("fiat Panda", samochod); samochodylista.append("ford Mondeo", samochod); samochodylista.append("seat Leon", samochod); samochodylista.append("skoda Fabia", samochod); // dodanie do listy samochodów polecenia OK samochodylista.addcommand(okcommand); // ustawienie nasłuchiwacza (bieżąca klasa) samochodylista.setcommandlistener(this); // utworzenie listy płyt CD (wykorzystanie listy typu MULTIPLE) i dodanie pozycji plytylista = new List("Zaznacz płyty", List.MULTIPLE); plytylista.append("dire Straits - Brothers in Arms", plyta); plytylista.append("pink Floyd - Dark Side of The Moon", plyta); plytylista.append("guns n' Roses - Use your Illusion", plyta); plytylista.append("queen - Innuendo", plyta); plytylista.append("led Zeppelin - IV", plyta); // dodanie do listy płyt CD polecenia OK 2

3 plytylista.addcommand(okcommand); // ustawienie nasłuchiwacza (bieżąca klasa) plytylista.setcommandlistener(this); // utworzenie formularza formularz = new Form("Konfiguracja"); // utworzenie pola tekstowego tf = new TextField("Załóż hasło", null, 20, TextField.ANY); // dodanie pola tekstowego formularz.append(tf); // dodanie do formularza polecenia OK formularz.addcommand(okcommand); // ustawienie nasłuchiwacza (bieżąca klasa) formularz.setcommandlistener(this); // pobranie referencji do obiektu Display dp = Display.getDisplay(this); public void startapp() { // ustawienie ekranu głównego (menu główne) dp.setcurrent(mainmenu); public void pauseapp() { public void destroyapp(boolean unconditional) { public void commandaction(command c, Displayable d) { // sprawdzenie czy wystąpiło polecenie wyboru z listy i jesteśmy w głównym menu if (c == List.SELECT_COMMAND && d == mainmenu) { // pobranie indeksu wybranej pozycji int indeks = mainmenu.getselectedindex(); // pobranie tekstu związanego z wybraną pozycją String akcja = mainmenu.getstring(indeks); // obsługa pozycji menu (sprawdzanie akcji ze Stringiem) if (akcja.equals("wyjście")) { // zakończenie pracy midletu destroyapp(true); notifydestroyed(); else if (akcja.equals("samochody")) { // ustawienie głównego ekranu na listę samochodów dp.setcurrent(samochodylista); else if (akcja.equals("płyty CD")) { // ustawienie głównego ekranu na listę płyt CD dp.setcurrent(plytylista); else if (akcja.equals("konfiguracja")) { // ustawienie głównego ekranu na formularz dp.setcurrent(formularz); else if (akcja.equals("informacja o programie")) { 3

4 // utworzenie obiektu klasy Alert Alert al = new Alert("Informacje","Autor: Jan Kowalski\nWersja: 0.666alfa\n", informacja, AlertType.INFO); // czas na jaki ma się wyświetlić okno alertu (milisekundy) al.settimeout(3000); // ustawienie głównego ekranu na nasz alert, a po upływie czasu na menu // główne dp.setcurrent(al, mainmenu); // obsługa polecenia OK (powrót do menu głównego) else if (c == okcommand) { dp.setcurrent(mainmenu); Zapis danych w pamięci urządzeń mobilnych Wykorzystanie RMS (Record Management System) o pakiet javax.microedition.rms o klasa RecordStore (zarządzanie zbiorami i rekordami) utworzenie obiektu klasy RecordStore RecordStore rs = RecordStore.openRecordStore("baza", true); operacje na zbiorze (dodawanie rekordów, modyfikacja, usuwanie) zamknięcie otwartego zbioru rs.closerecordstore(); Przykładowa aplikacja Zadaniem aplikacji ma być tworzenie i przechowywanie notatek tekstowych. import javax.microedition.midlet.midlet; import javax.microedition.lcdui.*; import javax.microedition.rms.*; import java.io.*; public class Kajet extends MIDlet implements CommandListener { // wykorzystanie klasy Display private Display dp; // wykorzystanie klasy List (menu główne, menu z notatkami) private List mainmenu, listanotek; // wykorzystanie klasy TextBox (dodawanie i wyświetlanie notatek) private TextBox tb, tbf; // wykorzystujemy klasę RecordStore do zapisu danych w pamięci urządzenia private RecordStore rs; // wykorzystanie klasy Command (polecenie powrotu i zapisywania) 4

5 private Command backcommand, savecommand, backlistcommand; // tablica przechowująca notki String[] notki; // konstruktor public Kajet() { // otwieramy zbiór z rekordami (jeśli nie istnieje zostanie utworzony) rs = RecordStore.openRecordStore("Notatki", true); catch (RecordStoreException e) { System.out.println ("Problem z RMS"); mainmenu = new List("Kajet", List.IMPLICIT); mainmenu.append("nowa notka", null); mainmenu.append("lista notek", null); mainmenu.append("wyjście",null); mainmenu.setcommandlistener(this); backcommand = new Command("Wróć", Command.BACK, 0); backlistcommand = new Command("Wróć", Command.BACK, 0); savecommand = new Command("Dodaj", Command.SCREEN, 1); tb = new TextBox("Nowy wpis", null, 320, TextField.ANY); tb.addcommand(backcommand); tb.addcommand(savecommand); tb.setcommandlistener(this); dp = Display.getDisplay(this); public void startapp() { dp.setcurrent(mainmenu); public void pauseapp() { public void destroyapp(boolean unconditional) { // zamknięcie zbioru z danymi rs.closerecordstore(); catch (RecordStoreException e) { System.out.println ("Nie można zamknąć RMS"); 5

6 public void commandaction(command c, Displayable d) { // sprawdzenie czy wystąpiło polecenie wyboru z listy i jesteśmy w głównym menu if (c == List.SELECT_COMMAND && d == mainmenu) { // pobranie indeksu wybranej pozycji int indeks = mainmenu.getselectedindex(); // pobranie tekstu związanego z wybraną pozycją String akcja = mainmenu.getstring(indeks); // obsługa pozycji menu (sprawdzanie akcji ze Stringiem) if (akcja.equals("wyjście")) { // zakończenie pracy midletu destroyapp(true); notifydestroyed(); else if (akcja.equals("nowa notka")) { // wyczyszczenie zawartości pola tekstowego tb.setstring(null); // ustawienie głównego ekranu na nowy wpis dp.setcurrent(tb); else if (akcja.equals("lista notek")) { // utworzenie listy notek listanotek = new List("Lista notek", List.IMPLICIT); // wyliczenie wszystkich rekordów RecordEnumeration re = rs.enumeraterecords(null, null, false); // zmienna pomocnicza int i = 0; // tworzymy tablicę Stringów z notkami o rozmiarze takim jak // liczba rekordów notki = new String[re.numRecords()]; // przechodzimy przez wszystkie rekordy w naszym zbiorze while(re.hasnextelement()){ // odczytujemy rekord byte[] record = re.nextrecord(); // tworzymy strumien danych wejściowych ByteArrayInputStream raw = new ByteArrayInputStream(record); DataInputStream in = new DataInputStream(raw); // odczytujemy notkę String notka = in.readutf(); // wpisujemy notkę do tablicy notki[i] = notka; i++; // tworzymy krótką wersję notki do pokazania na liście notka = notka.substring(0, (notka.length()) > 40? 40 : notka.length()) + "..."; listanotek.append(notka, null); 6

7 // zamykamy strumień danych wejściowych in.close(); catch (IOException e) { System.out.println ("Bład wejścia/wyjścia"); catch (RecordStoreException e) { System.out.println ("Błąd zapisu RMS"); // dodajemy polecenie powrotu do głównego menu listanotek.addcommand(backcommand); // ustawiamy nasłuchiwacza na bieżącą klasę listanotek.setcommandlistener(this); // ustawienie głównego ekranu na listę notek dp.setcurrent(listanotek); // obsługa listy notek, po wybraniu notki pokazujemy jej całą treść else if (c == List.SELECT_COMMAND && d == listanotek) { // tworzymy pole tekstowe z zawartością odpowiedniej notki pobranej z tablicy // notek tbf = new TextBox("Pełny tekst", notki[listanotek.getselectedindex()], 320, TextField.UNEDITABLE); // dodajemy polecenie powrotu na listę notek tbf.addcommand(backlistcommand); // ustawiamy nasłuchiwacz tbf.setcommandlistener(this); // ustawiamy bieżący ekran na nasze pole z pełną treścią notki dp.setcurrent(tbf); // obsługa polecenia BACK (powrót do menu głównego) else if (c == backcommand) { dp.setcurrent(mainmenu); // obsługa polecenia BACK (powrót do menu z listą notek) else if (c == backlistcommand) { dp.setcurrent(listanotek); // obsługa polecenia zapisz else if (c == savecommand) { // tworzymy strumień danych wyjściowych ByteArrayOutputStream arraystream = new ByteArrayOutputStream(); DataOutputStream out = new DataOutputStream(arrayStream); // wpisujemy dane pobrane z pola tekstowego do strumienia out.writeutf(tb.getstring()); // tworzymy tablice bajtów byte[] data = arraystream.tobytearray(); // dodajemy rekord rs.addrecord(data, 0, data.length); 7

8 // zamykamy strumień out.close(); catch (IOException e) { System.out.println ("Bład wejścia/wyjścia"); catch (RecordStoreException e) { System.out.println ("Błąd zapisu RMS"); // ustawiamy bieżący ekran na główne menu dp.setcurrent(mainmenu); Połączenie z internetem Wszystkie aplikacje mobilne umożliwiają obsługę połączeń sieciowych za pomocą prostego API będącego składową GFC (Generic Connection Framework). Obsługiwane protokoły to http oraz https. Pakiet javax.microedition.io zawiera większość klas związanych z GFC. Nawiązanie połączenia to wykorzystanie jednej z metod open dostępnych w klasie Connector. Dostęp do danych z sieci jest możliwy w następujący sposób: String url = " HttpConnection c = (HttpConnection) Connector.open(url); InputStream in = c.openinputstream(); // in.read()...odczyt danych 8

9 Przykładowa aplikacja (pobieranie kursu USD z witryny NBP) import javax.microedition.lcdui.*; import javax.microedition.midlet.midlet; import javax.microedition.io.*; import java.io.*; public class PobieranieDanych extends MIDlet implements CommandListener { // wykorzystanie klasy TextBox (okno tekstowe) private TextBox tb; // wykorzystanie klasy Command (obsługa komend) private Command exitcommand; // wykorzystanie klas HttpConnection (połączenie po http) oraz InputStream (obsługa // strumienia wejściowego) private HttpConnection c; private InputStream is; // wykorzystanie klasy StringBuffer (dynamiczny łańcuch tekstowy) private StringBuffer sb; public PobieranieDanych () { // tworzymy obiekt klasy StringBuffer sb = new StringBuffer(); // łączymy się ze stroną NBP c = (HttpConnection) Connector.open(" Connector.READ, true); // otwieramy strumień danych wejściowych is = c.openinputstream(); int ch=0; // odczytujemy wszystkie dane (-1 koniec danych) oraz dodajemy je do // łańcucha tekstowego while ((ch = is.read())!= -1) { sb.append((char) ch); catch (IOException x){ System.out.println ("Błąd wejścia wyjścia"); finally { is.close(); c.close(); catch (IOException x) { System.out.println ("Błąd wejścia wyjścia"); 9

10 // zamieniamy obiekt klasy StringBuffer na String (potrzebujemy kilku metod) String wyn = sb.tostring(); // wyszukujemy ciągu znaków USD int i = wyn.indexof("usd"); // szukamy aktualnegoo kursu USD i = i + 26; // wycinamy kurs (ciągle będzie to łańcuch tekstowy) String wartosc = wyn.substring(i, i + 6); // zamieniamy, na. wartosc = wartosc.replace(',','.'); // konwertujemy String z kursem na zmienną typu float float kurs = Float.parseFloat(wartosc); // tworzymy nowy obiekt klasy TextBox wraz z aktualnym kursem tb = new TextBox("Aktualny kurs USD", "USD: " + kurs, 100, TextField.ANY); // tworzymy nowe polecenie exitcommand = new Command("Zakończ", Command.EXIT, 0); // dodajemy polecenie do pola tekstowego tb.addcommand(exitcommand); // wskazujemy obiekt obslugujacy zdarzenia tb.setcommandlistener(this); public void startapp() { // ustawiamy ekran poczatkowy Display.getDisplay(this).setCurrent(tb); public void pauseapp() { public void destroyapp(boolean u) { // ciało metody z interfejsu CommandListener public void commandaction(command c, Displayable d) { Wysyłanie tekstu // obsluga polecenia exitcommand (kończymy działanie aplikacji) if (c == exitcommand) { destroyapp(true); notifydestroyed(); Java ME udostępnia prostą komunikację tekstową i multimedialną za pomocą Wireless Messaging API (WMA). WMA bazuje na GFC (Generic Connection Framework). Pakiet javax.wireless.messaging zawiera większość klas i metod potrzebnych do takiej 10

11 komunikacji. Wysłanie bądź też odebranie połączenia to utworzenie obiektu klasy MessageConnection oraz wypełnienie treści wiadomości i jej wysłanie. Poniżej prosty przykład wysyłania wiadomości tekstowej (SMS): import javax.microedition.lcdui.*; import javax.microedition.midlet.midlet; import javax.microedition.io.*; import java.io.*; import javax.wireless.messaging.*; /** * MIDlet: WysylanieSMS * Klasy główne: TextBox, Alert (dziedziczące z klasy Screen) */ public class WysylanieSMS extends MIDlet implements CommandListener, Runnable { // wykorzystanie klasy TextBox (okno tekstowe) private TextBox tb; // wykorzystanie klasy Command (obsługa komend) private Command exitcommand, sendcommand; // wykorzystanie klasy Display private Display dp; public WysylanieSMS() { tb = new TextBox("Wpisz tekst", null, 160, TextField.ANY); // tworzymy nowe polecenia (polecenia związane z aplikacją mają typ // Command.SCREEN) exitcommand = new Command("Zakończ", Command.EXIT, 0); sendcommand = new Command("Wyślij SMS", Command.SCREEN, 1); // dodajemy polecenia do pola tekstowego tb.addcommand(exitcommand); tb.addcommand(sendcommand); // wskazujemy obiekt obslugujacy zdarzenia tb.setcommandlistener(this); dp = Display.getDisplay(this); public void startapp() { dp.setcurrent(tb); public void pauseapp() { public void destroyapp(boolean u) { // ciało metody z interfejsu CommandListener public void commandaction(command c, Displayable d) { // obsluga polecenia exitcommand (kończymy działanie aplikacji) if (c == exitcommand) { destroyapp(true); notifydestroyed(); 11

12 // obsluga polecenia infocommand (wyświetlenie informacji użytkownikowi) if (c == sendcommand) { // tworzymy nowy wątek Thread t = new Thread(this); // startujemy wątek t.start(); // tworzymy obiekt klasy Alert wraz z odpowiednimi danymi Alert al = new Alert("Informacja", "Wysłałeś SMS", null, AlertType.INFO); // ustawiamy czas (podany w ms) przez jaki Alert ma być // wyświetlany al.settimeout(2000); // wyświetlamy Alert oraz wskazujemy na ekran, który ma zostać // wyświetlony po zamknięciu Alerta dp.setcurrent(al, tb); public void run() { MessageConnection mc = null; // Inbox telefonu komórkowego nie podajemy portu String cs = "sms:// "; // tworzymy połączenie mc = (MessageConnection) Connector.open(cs); // tworzymy nową wiadomość tekstową TextMessage tm = (TextMessage) mc.newmessage(messageconnection.text_message); // ustawiamy treść wiadomości tm.setpayloadtext(tb.getstring()); // wysyłamy mc.send(tm); catch (IOException ioe) { System.out.println ("Bład wejścia/wyjścia"); // sprawdzamy czy połączenie zostało otwarte if (mc!= null) { // zamykamy połaczenie mc.close(); catch (IOException ioe) { System.out.println ("Błąd wejścia/wyjścia"); 12

13 Zadania 1. Uruchom MIDlet z listą jako menu. Zmień pliki graficzne, dodaj nowe pozycje w poszczególnych listach. 2. Zapoznaj się z działaniem MIDletu Kajet. Dodaj ikony do poszczególnych pozycji menu. Zastanów się jak rozbudować funkcjonalność aplikacji (usuwanie notek, aktualizacja). Wprowadź modyfikacje. 3. Uzupełnij MIDlet PobieranieDanych o nowe waluty (EUR, GPB itd.). Zastanów się jak przechowywać dane w pamięci urządzenia. Zaprojektuj MIDlet przechowujący kursy kilku walut wraz z ich datami. 4. Napisz aplikację umożliwiającą wysyłanie SMS'ów, ich archiwizację (folder wysłane). Program ma mieć możliwość tworzenia SMS'ów przeznaczonych do wysłania później (folder wersje robocze/do wysłania). 13

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 1

Podstawy 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ółowo

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2

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ółowo

Java Platform Micro Edition

Java 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ółowo

STWORZENIE PRZYKŁADOWEJ

STWORZENIE 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ółowo

M-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. 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ółowo

Programowanie aplikacji na urządzenia mobilne

Programowanie 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ółowo

Programowanie w języku Java

Programowanie 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ółowo

Wprowadzenie do J2ME

Wprowadzenie 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ółowo

JAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt

JAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt JAVA Pliki - zapis i odczyt Opracował: Andrzej Nowak Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Strumienie wejścia i wyjścia Strumienie wejścia

Bardziej szczegółowo

Kurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016

Kurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016 Wykład 10 05 maja 2016 Biblioteka wejścia/wyjścia (Input/Output) import java.io.*; Umożliwia przechowywania danych na nośniku zewnętrznym Dane moga być wysyłane do plików, na drukarkę, do bufora pamięci,

Bardziej szczegółowo

ZAPOZNANIE SIĘ Z TWORZENIEM

ZAPOZNANIE 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ółowo

Laboratorium z informatyki sem. III/ćw.12 Wydział Transportu PW 2018/19

Laboratorium 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ółowo

Java programowanie telefonów komórkowych Na podstawie: http://midlety.net/

Java 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ółowo

Aplikacja wielowątkowa prosty komunikator

Aplikacja 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ółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof

Bardziej szczegółowo

Laboratorium z informatyki sem. III/ćw.11 Wydział Transportu PW 2017/18

Laboratorium 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ółowo

Programowanie na komórki

Programowanie 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ółowo

Tworzenie i wykorzystanie usług

Tworzenie 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ółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

public void startapp() { } public void pauseapp() { } public void destroyapp(boolean unconditional) { }

public 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania 1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami obiektowymi systemu Windows wykorzystując Visual Studio 2008 takimi jak: przyciski, pola tekstowe, okna pobierania danych

Bardziej szczegółowo

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

Wykład 2: Podstawy Języka

Wykład 2: Podstawy Języka Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście

Bardziej szczegółowo

Klasy i obiekty cz II

Klasy 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ółowo

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1

Autor: 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ółowo

STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW

STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW 1. Procedura korzystania ze strumieni danych Aby utworzyć plik: 1) Należy utworzyć obiekt (np. typu FileOutputStream), powiązany ze plikiem danych binarnych (np.

Bardziej szczegółowo

Bezpieczne uruchamianie apletów wg

Bezpieczne uruchamianie apletów wg Bezpieczne uruchamianie apletów wg http://java.sun.com/docs/books/tutorial/security1.2/ Zabezpieczenia przed uruchamianiem apletów na pisanych przez nieznanych autorów 1) ograniczenie możliwości odczytywania,

Bardziej szczegółowo

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu. Wstęp Java Zadanie Celem laboratorium jest zapoznanie się z podstawami platformy oraz języka Java. W ramach zadania należy przygotować aplikację zarządzania notatkami użytkownika obsługiwaną z konsoli.

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA 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ółowo

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Wą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ółowo

Programowanie obiektowe

Programowanie 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ółowo

Kontenery i komponenty graficzne

Kontenery i komponenty graficzne JAVA Kontenery i komponenty graficzne Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Opracował: Andrzej Nowak Kontenery Aplikacja okienkowa składa

Bardziej szczegółowo

JAVA I SIECI. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html

JAVA 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ółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

Sposoby 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. 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ółowo

dr inż. Tomasz Krzeszowski

dr inż. Tomasz Krzeszowski Microsoft Robotics Developer Studio dr inż. Tomasz Krzeszowski 2017-05-20 Spis treści 1 Przygotowanie do laboratorium... 3 2 Cel laboratorium... 3 3 Microsoft Robotics Developer Studio... 3 3.1 Wprowadzenie...

Bardziej szczegółowo

Java. Programowanie Obiektowe Mateusz Cicheński

Java. 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ółowo

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Ćwiczenie 1. Kolejki IBM Message Queue (MQ) Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając

Bardziej szczegółowo

Programowanie obiektowe

Programowanie 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ółowo

akademia androida Składowanie danych część VI

akademia androida Składowanie danych część VI akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.

Bardziej szczegółowo

Platformy Programistyczne Zagadnienia sieciowe i wątki

Platformy Programistyczne Zagadnienia sieciowe i wątki Platformy Programistyczne Zagadnienia sieciowe i wątki Agata Migalska 27/28 maja 2014 Komunikacja sieciowa 1 Komunikacja sieciowa 2 Wiele wątków 3 Serializacja Architektura typu klient-serwer Architektura

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

SWING c.d. przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe.

SWING 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ółowo

Język JAVA podstawy. Wykład 6, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 6, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 6, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do operacji wejścia/wyjścia: strumienie 2. Podstawowe klasy strumieni i InputStream/OutputStream

Bardziej szczegółowo

INSTRUKCJA DO ĆWICZENIA 13. Animacja wielowątkowa w aplikacjach JME. Gra logistyczna.

INSTRUKCJA 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ółowo

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych 2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:

Bardziej szczegółowo

Wykład 4. Tablice. Pliki

Wykład 4. Tablice. Pliki Informatyka I Wykład 4. Tablice. Pliki Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Tablice Tablica uporządkowany zbiór elementów określonego typu Każdy element tablicy posiada

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,

Bardziej szczegółowo

J2ME Część II. P.J.Podsiadły

J2ME 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ółowo

Aplikacja wielow tkowa prosty komunikator

Aplikacja 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ółowo

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Java: 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

Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba.

Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba. Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba. W tej klasie wykonaj następujące czynności: a) dodaj pole

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia 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ółowo

Strumienie, pliki. Sortowanie. Wyjątki.

Strumienie, pliki. Sortowanie. Wyjątki. Strumienie, pliki. Sortowanie. Wyjątki. Serializacja Zapisuje całą klasę Plik binarny Delimiter nieokreślony Nie da się podglądać Pliki tekstowe Zapisuje wybrane informacje Plik tekstowy Delimiter ustawiamy

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 2

Języki i techniki programowania Ćwiczenia 2 Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...

Bardziej szczegółowo

Dokumentacja do API Javy.

Dokumentacja 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ółowo

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

Przewodnik Szybki start

Przewodnik Szybki start Używanie usługi Office 365 na telefonie z systemem Android Przewodnik Szybki start Sprawdzanie poczty e-mail Skonfiguruj telefon z systemem Android w celu wysyłania i odbierania poczty za pomocą konta

Bardziej szczegółowo

Przykłady interfejsu TCP i UDP w Javie

Przykłady interfejsu TCP i UDP w Javie Przykłady interfejsu TCP i UDP w Javie W Javie interfejsy TCP i UDP znajdują się w pakiecie java.net http://docs.oracle.com/javase/6/docs/api/java/net/packagesummary.html 1 Przykład interfejsu UDP Protokół

Bardziej szczegółowo

Instrukcja obsługi aplikacji Karty Pojazdów dla Dealerów Samochodowych

Instrukcja obsługi aplikacji Karty Pojazdów dla Dealerów Samochodowych Instrukcja obsługi aplikacji Karty Pojazdów dla Dealerów Samochodowych ver. 0.6 1 Instalacja 1. Proces instalacji należy rozpocząć od sprawdzenia, czy w systemie MS Windows jest zainstalowana aplikacja

Bardziej szczegółowo

Przewodnik użytkownika (instrukcja) AutoMagicTest

Przewodnik użytkownika (instrukcja) AutoMagicTest Przewodnik użytkownika (instrukcja) AutoMagicTest 0.1.21.137 1. Wprowadzenie Aplikacja AutoMagicTest to aplikacja wspierająca testerów w testowaniu i kontrolowaniu jakości stron poprzez ich analizę. Aplikacja

Bardziej szczegółowo

Komunikator internetowy w C#

Komunikator internetowy w C# PAŃSTWOWA WYśSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie Komunikator internetowy w C# autor: Artur Domachowski Elbląg, 2009 r. Komunikacja przy uŝyciu poczty internetowej

Bardziej szczegółowo

Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16

Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16 Kurs walut Specyfikacja projektu Marek Zając 2013-12-16 Spis treści 1. Podsumowanie... 2 1.1 Wstęp... 2 1.2 Projekt interfejsu... 2 1.2.1 Rozmiar głównego okna... 2 2. Słownik pojęć... 2 2.1 Definicja

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt

Bardziej szczegółowo

Włączanie/wyłączanie paska menu

Włączanie/wyłączanie paska menu Włączanie/wyłączanie paska menu Po zainstalowaniu przeglądarki Internet Eksplorer oraz Firefox domyślnie górny pasek menu jest wyłączony. Czasem warto go włączyć aby mieć szybszy dostęp do narzędzi. Po

Bardziej szczegółowo

Współbieżność w środowisku Java

Współ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ółowo

Aplikacje w Javie- wykład 11 Wątki-podstawy

Aplikacje 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ółowo

TRX API opis funkcji interfejsu

TRX API opis funkcji interfejsu TRX Krzysztof Kryński Cyfrowe rejestratory rozmów seria KSRC TRX API opis funkcji interfejsu Kwiecień 2013 Copyright TRX TRX ul. Garibaldiego 4 04-078 Warszawa Tel. 22 871 33 33 Fax 22 871 57 30 www.trx.com.pl

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Proxy (pełnomocnik) Cel: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Zastosowanie: Wszędzie tam, gdzie oczekujemy bardziej zaawansowanego odwołania do obiektu, niż zwykły

Bardziej szczegółowo

RESTful 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 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ółowo

Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5.

Programy 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ółowo

Informatyka I. Wykład 4. Tablice. Dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Wykład 4. Tablice. Dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Wykład 4. Tablice. Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Tablice Tablica uporządkowany zbiór elementów określonego typu Każdy element tablicy posiada

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

SEMINARIUM DYPLOMOWE

SEMINARIUM 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ółowo

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści Microsoft Visual C++ 2008 : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop. 2010 Spis treści Co znajdziesz w tej książce? 9 Rozdział 1. Podstawy środowiska Visual C++ 2008 11 Język C++ a.net Framework

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

ROZDZIAŁ 1. PRZEGLĄD BRAMOFONU SAFE...

ROZDZIAŁ 1. PRZEGLĄD BRAMOFONU SAFE... Spis treści INSTRUKCJA OBSŁUGI SPIS TREŚCI ROZDZIAŁ 1. PRZEGLĄD BRAMOFONU SAFE... 2 1.3. WYMAGANIA SYSTEMU... 2 ROZDZIAŁ 2. APLIKACJA I URZĄDZENIE.... 4 2.1. DODAWANIE BRAMOFONU DO APLIKACJI... 4 2.2.

Bardziej szczegółowo

Aplikacje internetowe i rozproszone - laboratorium

Aplikacje internetowe i rozproszone - laboratorium Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,

Bardziej szczegółowo

Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o.

Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o. Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o. 29.06.2015 2 Spis treści 1. Wymagania...4 2. Uprawnienia systemowe...4 3. Uprawnienie

Bardziej szczegółowo

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy

Bardziej szczegółowo

Strumienie i serializacja

Strumienie i serializacja Strumienie i serializacja Prezentacja dostępna na Syriuszu: http://sirius.cs.put.poznan.pl/~inf80156 Klasy: InputStream, OutputStream, Reader i Writer W Javie hierarchia strumieni oparta jest o cztery

Bardziej szczegółowo

Języki i metody programowania Java INF302W Wykład 2 (część 1)

Języki i metody programowania Java INF302W Wykład 2 (część 1) Języki i metody programowania Java INF302W Wykład 2 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 2, część 1 1 Struktura wykładu 1. Identyfikacja

Bardziej szczegółowo

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł mysqli ma dwa interfejsy: proceduralny i obiektowy) PostgreSQL Oracle MS

Bardziej szczegółowo

Agata Gałecka, Martyna Sikorska, Tomasz Cebula. 28 kwietnia 2009

Agata 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ółowo

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki > C++ dynamiczna alokacja/rezerwacja/przydział pamięci Dane: Iwona Polak iwona.polak@us.edu.pl Uniwersytet Śląski Instytut Informatyki 1429536600 > Dzisiejsze zajęcia sponsorują słówka: new oraz delete

Bardziej szczegółowo

Aplikacje RMI. Budowa aplikacji rozproszonych. Część 2.

Aplikacje RMI. Budowa aplikacji rozproszonych. Część 2. Aplikacje RMI Część 2 Budowa aplikacji rozproszonych http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html I. Implementacja gniazd dziedziczących po Socket i ServerSocket oraz produkcji

Bardziej szczegółowo

Programowanie urządzeń mobilnych na platformie Java ME

Programowanie 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ółowo

Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik

Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik Wizualne systemy programowania Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Kolekcje List

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i

Bardziej szczegółowo

J2ME. Java dla urz¹dzeñ mobilnych. Æwiczenia

J2ME. 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ółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

Bardziej szczegółowo

Przykład. Podaj nazwę domenową hosta a odczytaj jego adres IP, lub odwrotnie:

Przykład. Podaj nazwę domenową hosta a odczytaj jego adres IP, lub odwrotnie: Adres internetowy klasa wxipv4address - wymaga #include Najważniejsze metody: bool Hostname(const wxstring& hostname) ustawia nazwę domenową hosta lub adres IP w notacji kropki: a.b.c.d bool

Bardziej szczegółowo

STRUMIENIE TEKSTOWE WEJŚCIOWE WPROWADZANIE DANYCH STRUMIENIE BAJTOWE, STRUMIENIE TEKSTOWE

STRUMIENIE TEKSTOWE WEJŚCIOWE WPROWADZANIE DANYCH STRUMIENIE BAJTOWE, STRUMIENIE TEKSTOWE STRUMIENIE TEKSTOWE WEJŚCIOWE WPROWADZANIE DANYCH STRUMIENIE BAJTOWE, STRUMIENIE TEKSTOWE 1) Strumienie tekstowe wejściowe wprowadzanie danych Procedura korzystania ze strumieni tekstowych wejściowych

Bardziej szczegółowo

5.4. Tworzymy formularze

5.4. Tworzymy formularze 5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania

Bardziej szczegółowo