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

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

Java Platform Micro Edition

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

STWORZENIE PRZYKŁADOWEJ

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

Programowanie aplikacji na urządzenia mobilne

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

Java programowanie telefonów komórkowych Na podstawie:

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

Wprowadzenie do J2ME

ZAPOZNANIE SIĘ Z TWORZENIEM

Aplikacje w środowisku Java

Programowanie w języku Java

M-biznes: Mobile Business. Realizacja aplikacji mobilnych w języku Java. Typy urządzeń przenośnych. Przykłady zastosowań

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

SEMINARIUM DYPLOMOWE

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

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

Aplikacje w środowisku Java

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Aplikacje w środowisku Java

Programowanie urządzeń mobilnych na platformie Java ME

Programowanie obiektowe

Kontenery i komponenty graficzne

Prerekwizyty. Aby pisać midlety należy zainstalować: JDK 1.2 lub nowszy, CLDC: cldc/download.

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

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

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

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

TEMAT : KLASY DZIEDZICZENIE

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 7 Wykorzystanie układu LinearLayout

Dokumentacja do API Javy.

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Kurs walut. Specyfikacja projektu. Marek Zając

Podstawowe elementy GUI cz. 2 i 3 - zadania

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13

Laboratorium 7 Blog: dodawanie i edycja wpisów

Zdarzenia Zdarzenia onload i onunload

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

Podstawy i języki programowania

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

Podstawy Języka Java

Wprowadzenie do projektu QualitySpy

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

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

Dziedziczenie. Zadanie 1

Programowanie w Javie 1 Wykład i Ćwiczenia 2 Przegląd podstawowych klas w Javie (elementy programowania obiektowego) Płock, 16 października 2013 r.

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.

Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com

Programowanie zdarzeniowe

PHP 5 język obiektowy

Programowanie Obiektowe GUI

Informatyka II. Laboratorium Aplikacja okienkowa

Podręcznik rejestracji wykonawcy OnePlace

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

Programowanie obiektowe

Klasy abstrakcyjne i interfejsy

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

Tworzenie i obsługa graficznego interfejsu uŝytkownika

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Technologie i usługi internetowe cz. 2

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Programowanie obiektowe

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Metody Metody, parametry, zwracanie wartości

Zaawansowane aplikacje internetowe - laboratorium

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Podstawy obiektowości

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Unity 3D - własny ekran startowy i menu gry

Podstawy i języki programowania

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Aplikacje internetowe i rozproszone - laboratorium

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

Projektowanie aplikacji internetowych laboratorium

Podstawy Języka Java

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy

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

Wykład 7: Pakiety i Interfejsy

UML a kod. C++, Java i C#

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

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Instrukcja użytkownika Platforma Walutowa

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

Aplikacje WWW - laboratorium


wstawianie przycisków umożliwiających wybieranie wartości poprzez klikanie strzałek

Przewodnik użytkownika (instrukcja) AutoMagicTest

KLASY, INTERFEJSY, ITP

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

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

Java: interfejsy i klasy wewnętrzne

Programowanie na komórki

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Podstawy i języki programowania

akademia androida Intencje oraz URI część III

WOPZ Wieloaspektowa Ocena Preferencji Zawodowych instrukcja dla doradcy

Transkrypt:

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 MIDlet u lub powrót ze stanu zatrzymania pauseapp() zatrzymanie aplikacji (np. podczas odbierania rozmowy) destroyapp() zamknięcie aplikacji Szkielet aplikacji public class PierwszyMIDlet extends MIDlet { public void startapp(){ public void pauseapp(){ public void destroyapp(boolean unconditional){ 1

Wyświetlanie informacji na ekranie import javax.microedition.lcdui.*; public class PierwszyMIDlet extends MIDlet { // wykorzystanie klasy TextBox (okno tekstowe) private TextBox tb; public void startapp() { // tworzymy obiekt klasy TextBox tb = new TextBox("Wyświetlanie tekstu", "Pisanie programów w Javie ME nie jest trudne", 160, TextField.UNEDITABLE); // ustawiamy ekran poczatkowy Display.getDisplay(this).setCurrent(tb); public void pauseapp() { public void destroyapp(boolean u) { Należy pamiętać o poprawnym wykorzystaniu utworzonych obiektów (sprawdzamy czy istnieje referencja lub tworzymy obiekty w konstruktorze MIDletu) // tworzymy obiekt klasy TextBox tylko gdy go jeszcze nie ma if (tb == null) { tb = new TextBox("Wyświetlanie tekstu", "Pisanie programów w Javie ME nie jest trudne", 160, TextField.UNEDITABLE); // tworzymy obiekt w konstruktorze MIDletu public PierwszyMIDlet() { tb = new TextBox("Wyświetlanie tekstu", "Pisanie programów w Javie ME nie jest trudne", 160, TextField.UNEDITABLE); Obsługa komend w MIDletach związana jest z implementacją interfejsu CommandListener public void commandaction(command c, Displayable d); 2

Przykładowa aplikacja z obsługą komend (zamykanie MIDletu) import javax.microedition.lcdui.*; /** * MIDlet: Wyswietlanie tekstu * Klasa główna: TextBox (dziedzicząca z klasy Screen) */ public class WyswietlanieTekstu extends MIDlet implements CommandListener { // wykorzystanie klasy TextBox (okno tekstowe) private TextBox tb; // wykorzystanie klasy Command (obsługa komend) private Command exitcommand; public void startapp() { // sprawdzamy czy istnieje instancja obiektu klasy TextBox if (tb == null) { // tworzymy obiekt klasy TextBox tb = new TextBox("Wyświetlanie tekstu", "Pisanie programów w Javie ME nie jest trudne", 160, TextField.UNEDITABLE); // 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); // 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) { // obsluga polecenia exitcommand (kończymy działanie aplikacji) if (c == exitcommand) { destroyapp(true); notifydestroyed(); 3

Klasy wykorzystywane przy tworzeniu graficznego interfejsu użytkownika (pakiet javax.microedition.lcdui) Komponenty GUI wysokiego poziomu Nazwa klasy Alert Opis Wyświetlanie przez pewien czas lub też do chwili akceptacji przez użytkownika okna dialogowego z komunikatem, obrazkiem. Wyświetlanie grupy elementów w formie formularza Form Element Opis ChoiceGroup Grupa wyboru z opcji DateField Edytowalne pole daty i czasu Gauge Wskaźnik ImageItem Obrazek z tekstem StringItem Nieedytowalny tekst TextField Pole tekstowe List TextBox Wybór z wielu opcji tekstowych lub graficznych Edytowalne pole tekstowe 4

Przykładowa aplikacja wykorzystująca klasę Alert import javax.microedition.lcdui.*; public class Alerty extends MIDlet implements CommandListener { private TextBox tb; private Command exitcommand, infocommand; private Display dp; public void startapp() { if (tb == null) { tb = new TextBox("Wprowadzanie danych", null, 160, TextField.ANY); // tworzymy nowe polecenia (polecenia związane z aplikacją // mają typ Command.SCREEN) exitcommand = new Command("Zakończ", Command.EXIT, 0); infocommand = new Command("Informacje", Command.SCREEN, 1); tb.addcommand(exitcommand); tb.addcommand(infocommand); tb.setcommandlistener(this); dp = Display.getDisplay(this); dp.setcurrent(tb); public void pauseapp() { public void destroyapp(boolean u) { public void commandaction(command c, Displayable d) { if (c == exitcommand) { destroyapp(true); notifydestroyed(); // obsluga polecenia infocommand (wyświetlenie informacji // użytkownikowi) if (c == infocommand) { // tworzymy obiekt klasy Alert wraz z odpowiednimi danymi Alert al = new Alert("Informacja", "Wprowadziłeś " + tb.getstring().length() + " znaków", 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); 5

Wykorzystanie klasy Form oraz obsługi zdarzeń (aplikacja obliczająca kwotę brutto) import javax.microedition.lcdui.*; public class ProstyFormularz extends MIDlet implements CommandListener { // wykorzystanie klasy Form (formularz) private Form frm; private Command exitcommand, calccommand; private Display dp; // dodatkowe pola związane z formularzem private TextField netto; // konstruktor tworzacy formularz (jest to alternatywny sposob tworzenia obiektu // głównego) // w poprzednich przykładach obiekty te były tworzone w metodzie startapp() public ProstyFormularz () { frm = new Form("Obliczanie wartości brutto"); netto = new TextField("Podaj kwotę netto:", null, 20, TextField.DECIMAL); frm.append(netto); exitcommand = new Command("Zakończ", Command.EXIT, 0); calccommand = new Command("Oblicz", Command.SCREEN, 1); frm.addcommand(exitcommand); frm.addcommand(calccommand); frm.setcommandlistener(this); public void startapp() { // ustawiamy ekran poczatkowy dp = Display.getDisplay(this); dp.setcurrent(frm); public void pauseapp() { public void destroyapp(boolean u) { public void commandaction(command c, Displayable d) { if (c == exitcommand) { destroyapp(true); notifydestroyed(); // obsluga polecenia calccommand if (c == calccommand) { // obliczamy kwotę netto, brutto oraz VAT 6

double kwotanetto = Double.parseDouble(netto.getString()); double kwotabrutto = kwotanetto * 1.22; double kwotavat = kwotabrutto - kwotanetto; // formatowanie liczb (2 miejsca po przecinku) - w Javie ME brak klasy // DecimalFormat kwotanetto = (double)(int)((kwotanetto + 0.005) * 100.0) / 100.0; kwotabrutto = (double)(int)((kwotabrutto + 0.005) * 100.0) / 100.0; kwotavat = (double)(int)((kwotavat + 0.005) * 100.0) / 100.0; // tworzymy obiekt klasy Alert wraz z odpowiednimi danymi (kwoty) Alert al = new Alert("Wynik", "Kwota netto: " + kwotanetto + "\nkwota VAT: " + kwotavat + "\nkwota brutto: " + kwotabrutto, null, AlertType.CONFIRMATION); // ustawiamy Alert modalny al.settimeout(alert.forever); // wyświetlamy Alert oraz wskazujemy na ekran, który ma zostać // wyświetlony po zamknięciu Alerta dp.setcurrent(al, frm); 7

Zadania 1. Napisz MIDlet umożliwiający wprowadzanie danych (ogranicz ilość wprowadzanych znaków do 100). Wykorzystaj klasę TextBox. Zapoznaj się z możliwościami tej klasy oraz zmień typ wprowadzanych danych (np. tylko wartości liczbowe, hasło itp.). 2. Uzupełnij MIDlet z pierwszego zadania o nową komendę Test umożliwiającą wyświetlenie Alertu (wykorzystaj klasę Alert) zawierającego wpisany do tej pory tekst. 3. Korzystając z klasy Form oraz odpowiednich komponentów utwórz MIDlet pobierający od użytkownika imię oraz dzień i miesiąc urodzenia oraz wyświetlający po wybraniu opcji Podaj znak odpowiedni znak zodiaku (np. Kasia jest Bykiem). 4. Zmodyfikuj kod aplikacji ProstyFormularz tak, aby móc dokonywać przeliczenia dolarów USD na złotówki. Użytkownik podaje określoną liczbę dolarów, program przelicza ją na złotówki oraz wyświetla wynik na ekranie (możesz wykorzystać np klasę Alert). Ustal stały kurs wymiany. 5. Zapoznaj się z aplikacją FormularzWaluty. Dodaj nową walutę GBP oraz pole umożliwiające podanie ilości środków w danej walucie. Po podaniu wszystkich danych program ma wyświetlić aktualny kurs oraz przeliczoną na PLN wartość podanych środków. 8