Przechowywanie danych w IOS

Podobne dokumenty
GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C

Dźwięk w IOS. Wykład 8. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.

Frameworki IOS. Wykład 14. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.

Programowanie dla iphone projektowanie interfejsu użytkownika

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

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

Programowanie dla iphone Storyboarding i własne elementy interfejsu użytkownika

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Programowanie obiektowe

Temat 13. Czujniki Dlaczego Twój Smartfon jest taki smart?

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

OBC01/TOPMOB Projektowanie w języku Objective-C

Podstawy programowania obiektowego

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Programowanie urządzeń mobilnych Apple Materiały dydaktyczne. Michał Dudkiewicz Błażej Zyglarski

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

Sieciowe Technologie Mobilne. Laboratorium 2

Podstawowe części projektu w Javie

Programowanie dla ios

Szablony klas, zastosowanie szablonów w programach

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

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

Metody dostępu do danych

Referat Pracy Dyplomowej

PHP 5 język obiektowy

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

DYNAMICZNE PRZYDZIELANIE PAMIECI

Klasy i obiekty cz II

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Wprowadzenie do projektu QualitySpy

Baza danych sql. 1. Wprowadzenie

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca Norbert Potocki db4o

Symfonia Produkcja Instrukcja instalacji. Wersja 2013

PUE ZUS Wysyłka elektronicznych zapytan. Instrukcja wysyłki zapytań do ZUZ-PUE za pomocą aplikacji Komornik SQL

Wykład 4: Klasy i Metody

PARADYGMATY PROGRAMOWANIA Wykład 4

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Wprowadzenie do Objective-C

Języki i techniki programowania Ćwiczenia 2

Programowanie obiektowe

Wywoływanie metod zdalnych

Podstawy i języki programowania

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Multimedia JAVA. Historia

76.Struktura oprogramowania rozproszonego.

Wykład 5: Klasy cz. 3

Dokumentacja do API Javy.

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

akademia androida Składowanie danych część VI

Programowanie dla ios

Biblioteka standardowa - operacje wejścia/wyjścia

4. Podstawowa konfiguracja

Instrukcja użytkownika

Wprowadzenie do Doctrine ORM

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Memeo Instant Backup Podręcznik Szybkiego Startu

Programowanie obiektowe, wykład nr 7. Przegląd typów strukturalnych - klasy i obiekty - c.d.

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

PUE ZUS Wysyłka elektronicznych zapytan. Instrukcja wysyłki zapytań do ZUZ-PUE za pomocą aplikacji Komornik SQL

VinCent Administrator

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne

Programowanie 2. Język C++. Wykład 3.

Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS , Comarch DMS i Comarch DMS

Wskaźniki w C. Anna Gogolińska

WorkingDoc CostControl: Precyzyjna kontrola kosztów wydruku na urządzeniach Grupy Ricoh

Zmienne, stałe i operatory

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

Zaawansowane programowanie w języku C++ Klasy w C++

Instrukcja obsługi programu

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

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Opis modułu pl.id w programie Komornik SQL-VAT

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

System zarządzający grami programistycznymi Meridius

Wywoływanie metod zdalnych

Instrukcja InPro BMS Siemens FC700A InPro Professional 4.1

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Wykład 3 Składnia języka C# (cz. 2)

Programowanie obiektowe

Wstęp. Ale po co? Implementacja

Migracja XL Business Intelligence do wersji

Wykład 8: klasy cz. 4

ZMIANY W SEKAFI ZWIĄZANE Z RODO

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Transkrypt:

#import "Fraction.h" #import <stdio.h> @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator: d]; } return self; Przechowywanie danych w IOS -(void) print { printf( "%i/%i", numerator, denominator ); } Wykład 6 -(void) setnumerator: (int) n { numerator = n; } -(void) setdenominator: (int) d { denominator = d; } -(void) setnumerator: (int) n anddenominator: (int) d { numerator = n; denominator = d; Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC)

CoreData 2

Core Data - możliwości Wstecz powtórz Walidacja zapisywanych właściwości Propagacja zmian Grupowanie filtrowanie i organizowanie danych w pamięci Automatyczna współpraca z zewnętrznymi repozytoriami Zapisywanie danych w trybie klucz-wartość 3

Zapytania Możliwość tworzenia złożonych zapytań NSPredicate obiekty ograniczeń zapytań Odpowiednik SQL Obsługa Unicode Tłumaczeń Wyrażeń regularnych 4

Dlaczego używać? Zmniejszenie ilości potrzebnego kodu o 50% do 70% Wielu rzeczy nie trzeba implementować samodzilenie Optymalizacja Testowanie 5

Czym Core Data NIE JEST To nie baza danych To nie jest system RDBMS Nie likwiduje potrzeby programowania 6

Czym Core Data JEST Infrastruktura zarzązania i zapisywania obiektów z repozytorium Repozytorium może być Bazą danych Plikiem? 7

Architektura CoreData 8

Konteksty i obiekty zarządzalne Przy pobieraniu danych z repozytorium Tworzy tymczasową kopię danych w pamięci Tymczasową kopię można kodyfikować Trzeba zapisać zmiany, żeby dane w repozytorium zostały uaktualnione 9

Tworzenie obiektu zarządzalnego Obiekt zarządzalny to instancja klasy Zasadniczo niczym nie różni się od zwykłej klasy Musi być instancją NSManagedObject albo dziedziczyć z NSManagedObject Istnieje w środowisku zdefiniowanym przez kontekst zarządzania CoreData Posiada opis właściwości encji 10

Tworzenie obiektu zarządzalnego Zapisywanie obiektu do kontekstu (insertnewobjectforentityforname:inmanagedo bjectcontext:). 11

NSManagedObject Klasa Objective-C Inicjalizacja tylko za pomocą specjalnego inicjalizatora initwithentity:insertintomanagedobjectcontext: Inicjalizator ustawia encję i kontekst 12

Usuwanie obiektu Na kontekście deleteobject: message, Parametrem jest obiekt, który chcemy usunąć. [acontext deleteobject:amanagedobject]; Zmiana nie zostanie zapisana dopóki nie zostanie zapisany kontekst. 13

NSUserDefaults Prosty sposób na zapamiętanie podstawowych danych Kodowanie klucz- wartość Pozwala na interacje z systemem wartości domyślnych Konfigurowanie preferencji użytkownika Np. jak często mają się odświeżać wyświetlane dane Np. jaki kolor awatara wybrał użytkownik Np. Jakiej czcionki używać do pracy aplikacji. 14

NSUserDefaults Obsługa podstawowych typów Float Double Integer Boolean URL 15

NSUserDefaults Obsługa obiektów NSData tu możemy zapamiętać również bardziej złożone obiekty NSString NSNumber NSDate NSArray NSDictionary. 16

NSUserDefaults Baza danych jest tworzona automatycznie dla każdego użytkownika Nie można zapamiętać ustawień w zakresie urządzenia Użyj CFPreferences API 17

CFPreferences Zarządzanie preferencjami użytkownika i urządzenia / aplikacji W formacie klucz - wartość 18

CFPreferences CFPreferencesCopyAppValue CFPreferencesCopyKeyList CFPreferencesCopyMultiple CFPreferencesCopyValue CFPreferencesGetAppBooleanValue CFPreferencesGetAppIntegerValue CFPreferencesSetAppValue CFPreferencesSetMultiple CFPreferencesSetValue 19

Dane w chmurze icloud 20

icloud Zapisywanie danych w chmurze Odczyt na różnych urządzeniach Łatwa obsługa za pomocą klasy NSDocument Praca z dokumentem na różnych urządzeniach Zaczynasz w jednym miejscu, kończysz w innym 21

Sposoby zapisu danych w icloud Klucz-wartosć - dla prostych danych ustawień, preferencji, stanu aplikacji. Document - dla danych widzialnych w formie dokumentów bezpośrednio dla użytkownika Rysunki dokumenty Core Data dla danych strukturalnych niewidocznych bezpośrednio dla użytkownika 22

Klucz - wartość NSUbiquitousKeyValueStore 23

NSUbiquitousKeyValueStore Pobieranie danych arrayforkey: boolforkey: dataforkey: dictionaryforkey: doubleforkey: longlongforkey: objectforkey: stringforkey: 24

NSUbiquitousKeyValueStore Zapisywanie danych setarray:forkey: setbool:forkey: setdata:forkey: setdictionary:forkey: setdouble:forkey: setlonglong:forkey: setobject:forkey: setstring:forkey: 25

Dokumenty w icloud 26

Uzyskiwanie dostępu NSFileManager URLForUbiquityContainerIdentifier: Podłączenie się do icloud UbiquityContainer pozwala na dostęp do icloud Dane są automatycznie synchronizowane z serwerem 27

GameCenter Baza danych w chmurze Pozwala na zapisywanie wyników i tworzenie rankingów gier Pozwala na zapisywanie osiągnięć i pokonanych poziomów 28

GameCenter Zapisywanie danych graczy i gry Framework GameKit Trzeba jawnie dodać tą obsługę. 29

Możliwości Nazwa Zadanie Ograniczenia Leaderboard Punktacja Ilość tablic wyników Achievement Osiągnięcia Ilość osiągnięć Challenges Matchmaking Implementacja w jednym z powyższych sposobów Gra Multiplayer Ilość graczy rozmiar pakietów danych wysyłanych 30

Uzyskiwanie dostępu do GameCenter Trzeba stworzyć profil aplikacji w portalu ios Provisioning Portal Tam należy ustawić możliwość korzystania z GameCenter Stworzyć identyfikator Dodać GameKit do aplikacji 31

Zakończenie KONIEC 32