Systemy operacyjne Mac OS X i ios



Podobne dokumenty
Temat 3. Projektowanie interfejsu użytkonwnika Kalkulator pierwszy program dla IOS

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

Zaawansowane aplikacje internetowe - laboratorium

BAZA_1 Temat: Tworzenie i modyfikowanie formularzy.

Temat 4. Storyboard i element interfejsu użytkownika Gra w kulki- część 1

Programowanie obiektowe

MS Access formularze

Programowanie Obiektowe GUI

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

1. Opis okna podstawowego programu TPrezenter.

Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C

Programowanie dla ios

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

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

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Praca z widokami i nawigacja w pokazie

Programowanie obiektowe

Jak wprowadzić dokument kasowy?

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Instrukcja obsługi wewnętrznej poczty mmedica

Jak przesłać mapę do urządzenia lub na kartę pamięci?

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

konspekt pojedynczy slajd sortowanie slajdów strona notatek 1. Widok normalny/konspekt 2. Widok sortowania slajdów 3.

Tworzenie prezentacji, PowerPoint

Aplikacje WWW - laboratorium

Rozwiązanie ćwiczenia 7a

Instrukcja obsługi programu Do-Exp

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.

UONET+ moduł Dziennik

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

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Tworzenie prezentacji w MS PowerPoint

Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Animowana grafika 3D Laboratorium 1

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

ACCESS ćwiczenia (zestaw 1)

Podstawowe czynnos ci w programie PowerPoint

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Jak zrobić klasyczny button na stronę www? (tutorial) w programie GIMP

Laboratorium 8 ( Android -pierwsza aplikacja)

Programowanie obiektowe

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Wprowadzenie do biblioteki klas C++

Rozwiązanie ćwiczenia 8a

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Informatyka II. Laboratorium Aplikacja okienkowa

Rozwiązanie ćwiczenia 6a

I. Program II. Opis głównych funkcji programu... 19

Rozdział 5. Administracja kontami użytkowników

Temat: Organizacja skoroszytów i arkuszy

Kopiowanie, przenoszenie plików i folderów


LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Programowanie dla ios

UONET+ - moduł Sekretariat. Jak wykorzystać wydruki list w formacie XLS do analizy danych uczniów?

Połączenie AutoCad'a z bazą danych

Jak przygotować pokaz album w Logomocji

Programowanie wielowarstwowe i komponentowe

Rozdział 2. Konfiguracja środowiska pracy uŝytkownika

I. Spis treści I. Spis treści... 2 II. Kreator szablonów Tworzenie szablonu Menu... 4 a. Opis ikon Dodanie nowego elementu...

Spis treści 1. Wstęp Logowanie Główny interfejs aplikacji Ogólny opis interfejsu Poruszanie się po mapie...

e-podręcznik dla seniora... i nie tylko.

Platformy Programowania

Instrukcja obsługi programu MPJ6

W dowolnej przeglądarce internetowej należy wpisać poniższy adres:

Programowanie obiektowe

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

1.1. Przykład projektowania konstrukcji prętowej z wykorzystaniem ekranów systemu ROBOT Millennium

POMIARY WIDEO W PROGRAMIE COACH 5

16) Wprowadzenie do raportowania Rave

Przedszkolaki Przygotowanie organizacyjne

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Czynności Wychowawców

Skróty klawiaturowe w systemie Windows 10

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Ćwiczenie 5 Animacja tekstu

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Animacje z zastosowaniem suwaka i przycisku

LibreOffice Impress. Poziom podstawowy. Materiały szkoleniowe

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0

Operacje na gotowych projektach.

Zadaniem tego laboratorium będzie zaznajomienie się z podstawowymi możliwościami operacji na danych i komórkach z wykorzystaniem Excel 2010

Obliczenie kratownicy przy pomocy programu ROBOT

Aplikacje w środowisku Java

Programowanie obiektowe

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Sekretne menu Start. Przycisk pulpitu

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.

Podstawy technologii cyfrowej i komputerów

Ćwiczenie 25 Działania matematyczne we Flashu

1. Wstęp Niniejszy dokument jest instrukcją użytkownika dla aplikacji internetowej DM TrackMan.

Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu

Arkusz strona zawierająca informacje. Dokumenty Excela są jakby skoroszytami podzielonymi na pojedyncze arkusze.

Transkrypt:

Systemy operacyjne Mac OS X i ios Laboratorium Kalkulator zużycia paliwa czyli pierwsza aplikacja w Cocoa Framework Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Autor: Jacek Dąbrowski

Spis treści 1 Wprowadzenie... 3 1.1 XCode... 3 1.2 Aplikacje Cocoa... 3 2 Laboratorium... 4 2.1 Utworzenie projektu... 5 2.2 Interfejs użytkownika... 6 2.3 Połączenie z delegatem aplikacji... 7 2.4 Wykonanie obliczeń... 8 2.5 Dodatkowe kontrolki... 9 2.6 Powiązanie NSTextField z NSSlider... 9 2.7 Utworzenie modelu... 9 2.8 Prezentacja aplikacji... 10 Laboratorium przedmiotu Systemy operacyjne Mac OS X i ios str. 2

1 Wprowadzenie Celem laboratorium jest zapoznanie studentów ze środowiskiem XCode i podstawami tworzenia aplikacji korzystających z biblioteki Cocoa. Studenci nie muszą znać języka objective-c wszystkie fragmenty kodu są dokładnie omówione (wskazana jest znajomość jakiegokolwiek obiektowego języka programowania). Efektem pracy będzie aplikacja obliczająca średnie zużycie paliwa na sto kilometrów na podstawie wprowadzonego dystansu oraz ilości tankowanego paliwa. 1.1 XCode XCode jest podstawowym narzędziem programistycznym do tworzenia aplikacji na komputery Mac oraz urządzenia ios, takie jak iphone czy ipad. IDE umożliwia edycję kodu źródłowego w objective-c oraz C++ oraz definiowanie interfejsu użytkownika. Poniższy rysunek przedstawia Lewy panel (oznaczony kolorem czerwonym) służy do szeroko pojętej nawigacji w projekcie, w szczególności pierwsza zakładka to lista plików. Inne zakładki to m.in. biblioteka klas, lista błędów w kodzie źródłowym czy informacja o wątkach aplikacji (podczas uruchomienia). Prawy panel umożliwia dodawanie nowych elementów do projektu oraz ustawianie ich właściwości. Niewidoczny na powyższym rysunku dolny panel służy do debugowania aplikacji zawiera listę obserwowanych zmiennych oraz konsolę tekstową. 1.2 Aplikacje Cocoa Aplikacje Cocoa tworzy się zgodnie ze wzorcem projektowym Model/View/Controller (MVC), w którym w wyraźny sposób rozdziela się trzy elementy składające się na aplikację: Laboratorium przedmiotu Systemy operacyjne Mac OS X i ios str. 3

- model danych i metody ich przetwarzania, - widoki służące do komunikacji z użytkownikiem, - i kontrolery stanowiące połączenie pomiędzy interfejsem użytkownika (w którym nie ma żadnego kodu) z modelem danych. Zaprojektowanie aplikacji zgodnie z modelem MVC oznacza uporządkowanie struktury oraz łatwiejsze poszukiwanie błędów (konkretne punkty styku różnych interfejsów). Aplikacja, która powstanie na laboratorium będzie miała bardzo prosty model danych w początkowym etapie obliczenia będą realizowane w całości przez kontroler. Sednem pierwszej części laboratorium jest pokazanie mechanizmu łączenia elementów widoku z kontrolerem poprzez outlety (ang. outlet) oraz akcje (ang. action). Outlety są własnościami kontrolera wskaźnikami pozwalającymi na dostęp do kontrolek np. odczyt/zapis wartości pola tekstowego czy pozycji przełącznika oraz modyfikację ich atrybutów (rozmiar, czcionka, widzialność). Z kolei akcje to metody zdefiniowane w kontrolerze, które są uruchamiane w reakcji na działania użytkownika naciśnięcie przycisku, przeciągnięcie kursora czy wyjście z pola tekstowego. Konkretny przykład został zaprezentowany w punkcie 2.3. instrukcji. 2 Laboratorium Aby wykonać laboratorium należy: - utworzyć nowy projekt MacOS X/Cocoa aplication, - dodać do okna aplikacji elementy interfejsu użytkownika, - połączyć interfejs z kodem aplikacji utworzyć outlety oraz akcje, - wykonać obliczenia w kontrolerze i podać wynik, - dodać dwie nowe kontrolki: suwaki NSSlider i stworzyć mechanizm wiążący ich wartość z wartością w polach tekstowych, - przenieść obliczenia do metody w nowej klasie, i zaprezentować aplikację prowadzącemu. W dalszej części instrukcji omówiono kolejne etapy realizacji ćwiczenia. Po zakończeniu pracy, jeśli zostało jeszcze trochę czasu możesz spróbować wykonać zadania dodatkowe. Laboratorium przedmiotu Systemy operacyjne Mac OS X i ios str. 4

2.1 Utworzenie projektu Uruchom XCode i utwórz nowy projekt wybierając odpowiednią opcję w oknie powitalnym lub z menu File/New Zwróć uwagę na typ projektu (MacOS X) Projekt nazwij Kalkulator. Utworzony projekt zawiera trzy pliki: KalkulatorAppDelegate.h, KalkulatorAppDelegate.m oraz Kalkulator.xib. Dwa pierwsze definiują główną klasę aplikacji oddelegowaną do zarządzania jej działaniem. Trzeci z nich zawiera definicję interfejsu użytkownika aplikacji tuż po utworzeniu jest to po prostu puste okno. Jeśli nie widzisz paneli po lewej lub prawej stronie musisz je włączyć korzystając z ikon w prawym górnym rogu XCode. Laboratorium przedmiotu Systemy operacyjne Mac OS X i ios str. 5

2.2 Interfejs użytkownika Na liście plików zaznacz Kalkulator.xib. Korzystając z Object Library (prawy panel, dolna część) dodaj do okna trzy kontrolki Label, dwa TextField i jeden Push Button. Aby zmienić tekst kontrolki należy wykonać podwójne kliknięcie na obiekcie. Zmodyfikuj interfejs tak aby był zgodny z rysunkiem obok (Label pod guzikiem ma ustawiony pusty tekst). Zwróć uwagę, że żadnej z dodanych kontrolek nie nadawaliśmy żadnej nazwy ani innego identyfikatora. Laboratorium przedmiotu Systemy operacyjne Mac OS X i ios str. 6

2.3 Połączenie z delegatem aplikacji Aby połączyć interfejs użytkownika z kodem aplikacji skorzystaj z widoku asystenta (ikona oznaczona czerwonym kolorem). Widok asystenta prezentuje na ekranie dwa elementy po lewej stronie ten wybrany z listy plików, po prawej element pasujący środowisko albo domyśla się o co nam chodzi (jak w tym przypadku para widok/kontroler), albo możemy wymusić konkretną zawartość np. definicję jakiejś innej klasy. Aby utworzyć połączenie trzymając klawisz CTRL przeciągnij wybraną kontrolkę z widoku okna do pliku nagłówkowego kontrolera (do wnętrza deklaracji interfejsu). XCode proponuje dwa sposoby połączenia jako outlety lub jako akcje. Połącz pola tekstowe oraz Label jako outlety: dystanstextfield, paliwotextfield oraz wyniklabel. Guzik oblicz połącz jako akcję o nazwie obliczbutton. Laboratorium przedmiotu Systemy operacyjne Mac OS X i ios str. 7

Przetestuj połączenie uzupełniając metodę obliczbutton o wpisanie tekstu: - (IBAction)obliczButton:(id)sender { self.wyniklabel.stringvalue = @"hello"; } W tym wypadku notacja jest bardzo zbliżona do innych języków obiektowych. Odwołujemy się najpierw do siebie (self), a później poprzez wskaźnik (outlet) kontrolki do pola określającego wartość tekstową i ustawiamy ją na wartość hello. W języku obj-c występują dwa rodzaje napisów zwykłe tablice znane z języka C oraz obiekty typu NSString. Notacja @ oznacza utworzenie właśnie takiego obiektu. Po uruchomieniu aplikacji naciśnięcie guzika powinno spowodować wyświetlenie napisu hello. Jeśli to połączenie nie działa poproś prowadzącego o pomoc. 2.4 Wykonanie obliczeń Kontrolki takie jak pole tekstowe, czy label (który tak naprawdę jest podklasą pola tekstowego) deklarują własność NSString *stringvalue. Typ NSString ma metody służące do konwersji jego zawartości do prostych typów liczbowych w tym wypadku interesować nas będzie wartość zmiennoprzecinkowa. Aby otrzymać wartości wprowadzone do pól tekstowych do otrzymanych wskaźników na obiekty typu NSString wysyłać będziemy wiadomość doublevalue. - (IBAction)obliczButton:(id)sender { double km = [self.dystanstextfield.stringvalue doublevalue]; double lt = [self.paliwotextfield.stringvalue doublevalue]; if (km>0) { double wynik = 100*lt/km; } self.wyniklabel.stringvalue = [NSString stringwithformat:@"%.2f l/100km",wynik]; } else self.wyniklabel.stringvalue = @"błąd"; Kolejne instrukcje nie powinny zaskoczyć nikogo znającego składnię języka C, komentarza wymaga jedynie metoda (wiadomość) stringwithformat. Metoda ta w bardzo dużym stopniu odpowiada funkcji printf() w języku C pierwszym parametrem jest NSString * definiujący szablon tworzonego napisu, po którym następuje lista argumentów oddzielonych przecinkami, które wypełniają pola w szablonie. Przetestuj działanie aplikacji. Laboratorium przedmiotu Systemy operacyjne Mac OS X i ios str. 8

2.5 Dodatkowe kontrolki Dodaj do okna dwie nowe kontrolki typu Horizontal Slider. Korzystając z prawego panelu ustal rozsądne wartości minimum i maksimum. Korzystając z Assistant Editora utwórz dwie nowe akcje: dystanssliderchange oraz paliwosliderchange. W tym punkcie ćwiczenia będziemy korzystać jedynie z akcji dostęp do pól suwaka, m.in. ustalonej wartości uzyskamy poprzez parametr sender odpowiednich metod: - (IBAction)dystansSliderChange:(id)sender { self.dystanstextfield.stringvalue = [NSString stringwithformat:@"%.0f", [sender doublevalue]]; [self obliczbutton:nil]; } - (IBAction)paliwoSliderChange:(id)sender { self.paliwotextfield.stringvalue = [NSString stringwithformat:@"%.0f", [sender doublevalue]]; [self obliczbutton:nil]; } 2.6 Powiązanie NSTextField z NSSlider Zaimplementowane w poprzednim punkcie metody wiążą wartość suwaka z polem tekstowym, ale nie na odwrót. Aby dokonać połączenia w drugą stronę potrzebne będą dwa nowe outlety (dla obu suwaków) oraz jedna akcja ta sama dla zmiany wartości obu pól tekstowych. Aby dowiązać drugą kontrolkę do tej samej akcji trzymaj wciśnięty klawisz kontrol i po prostu wybierz metodę kursorem. Zdarzenie generowane jest w momencie naciśnięcia klawisza enter lub przy opuszczeniu pola tekstowego. W reakcji na zdarzenie odczytaj wartości z obu pól tekstowych i ustaw je jako wartości (doublevalue) sliderów. 2.7 Utworzenie modelu Ostatnim etapem laboratorium jest utworzenie bardzo prostej klasy reprezentującej model obliczeń komputera pokładowego. Korzystając z menu File/New lub klikając prawym klawiszem na liście plików dodaj nowy plik typu objective-c class. Jako obiekt, z którego będzie dziedziczyć klasa wybierz po prostu NSObject. XCode utworzy dwa pliki nagłówkowy z deklaracją interfejsu klasy oraz plik przeznaczony na implementację metod. Laboratorium przedmiotu Systemy operacyjne Mac OS X i ios str. 9

Uzupełnij deklarację interfejsu o informację o metodzie statycznej ( + ) przyjmującej dwa parametry double, i zwracającej wartość typu double: + (double) spalaniedladystansu: (double) dystans ipaliwa: (double) paliwo; Zdefiniuj ciało metody w pliku.m (tak, to będzie pojedynczy return). Następnie zmodyfikuj plik AppDelegate.m (w szczególności metodę obliczbutton) tak, aby korzystała z nowo utworzonej klasy.... [Komputer spalaniedladystansu: km ipaliwa: lt]... 2.8 Prezentacja aplikacji Zaprezentuj działającą aplikację prowadzącemu. Zademonstruj powiązanie pól tekstowych z suwakami (w cztery strony). Laboratorium przedmiotu Systemy operacyjne Mac OS X i ios str. 10