Aftenskole i programmering sæson Watch Me. Sæson 2 - Lektion 19

Relaterede dokumenter
Aftenskole i programmering sæson Flere registreringer. Sæson 2 - Lektion 8

Opdatering i tabellen

Aftenskole i programmering sæson Core Data del 2. Sæson 2-13

Aftenskole i programmering sæson Registrering af tid. Sæson 2 - Lektion 5

PlejeNet på iphone telefoner. Vejledning til PlejeNet på iphone og ipad

1c. Udfyld felterne for Opret en gratis konto det er meget vigtigt at skrive mailadresse samt adgangskoden KORREKT Klik på den blå knap (Opret.

Du kan også bruge Dropbox sammen med din Iphone, Android telefon eller anden smartphone.

Langeskov IT Online Backup Guide

Programmering for begyndere Lektion 2. Opsamling mm

Rapport generator til Microsoft C5

Kom godt i gang med I-bogen

M Mobility Mobil IP. Installations- & brugervejledning Desktop version Windows 12. august 2014

mobile112 Ltd 2013 Index

Vejledning i brug af dli dokumenthåndteringssystemet til virksomheder

DM507 Algoritmer og datastrukturer

Oversættelse af LibreOffice. Adressen er

Generelt Windows tidligere versioner... 1 Windows Apple Mac Log på... 2 Rediger dokumentet Tilføj et tillægsdokument...

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer

#Alle Kan Kode. Lektion 25 - Enums

Dansave Online Backup. Dansave Home Guide. Version

Indhold. Installation af Cloudco HOME...1. Minimums systemkrav - Windows...1. Minimums Systemkrav - MAC...1. Minimums Systemkrav - MAC...

VEJLEDNING 0. Velkommen til Randers HF & VUC IT

KOM GODT I GANG MED. Desktop Mendeley Menuen er simpel og intuitiv. I Menuen Tools finder du web importer og MS Word plugin

Start af nyt schematic projekt i Quartus II

Guide til PlaNet v1.12. Original skrevet af:

Adobe Digital Editions

HumanWare Brailliant punktdisplay med en ios enhed. En produktiv kombination.

Vejledning til udfyldelse af ansøgningsskema vedrørende Kvalitetsudviklings og forskningsprojekter

PID2000 Archive Service

M Mobility Mobil IP. Installations- & brugervejledning Smartphone version Mac OS X 12. august 2014

Installations og brugermanual for ios - brugere af Akutudkald.

COOP brugermanual til Podio BRUGERMANUAL. til Podio. 23. februar 2015 Side 1 af 38

UCSJ IT - Teknologi & Metode PRINT

Keepit Mobile til iphone & ipad

Installations og brugermanual for ios - brugere af Akutudkald.

Kapitel 8 Tilpasning af OpenOffice.org:

Vejledning til udfyldelse af ansøgningsskema vedrørende Kvalitetsudviklings og forskningsprojekter Fonden for faglig udvikling i speciallægepraksis

Kort om CoinDB (Mønt- og seddelsamling):

Ny iphone X gendan fra tidligere telefon

18/ Version 2.0 Side 1 af 36

09/ Version 1.4 Side 1 af 37

Vejledning til opbygning af hjemmesider

GUIDE KOM GODT I GANG MED GTS ANSØGNINGSSKEMA 2015

Installations og brugermanual for ios - brugere af Akutudkald.

DM507 Algoritmer og datastrukturer

Overgang til Elis mail for PC & iphone/ipad

I denne manual kan du finde en hurtig introduktion til hvordan du:

Vejledning til udfyldelse af ansøgningsskema vedrørende Kvalitetsudviklings- og forskningsprojekter

Dan Rolsted PIT. Side 1

Vejledning i upload af serier til Danske tegneseriskaberes app.

Typo3 vejledning BMI af 1 Typo3 vejledning for redaktører og skribenter i BMI

Citrix Receiver komplet guide til installation, brug og fejlfinding Version

INSTALLATIONS GUIDE. Online harddisk (Chili Cloud) TIL PC OG MAC FIBERBREDBÅND TV TELEFONI

Åbn Paint, som er et lille tegne- og billedbehandlingsprogram der findes under Programmer i mappen Tilbehør. Åbn også Word.

RefWorks en vejledning fra UCL Biblioteket. Indholdsfortegnelse

Patientlister. Tilføj / rediger eksisterende lister. VEJLEDNING Patientlister

Når du har hentet disse programmer installerer du dem alle og følger guiden herunder.

Vejledning til Kilometer Registrering

Lav video til nettet med din smartphone

W6 - Model- og Tegningskomposition

Kom godt i gang med Fable-robotten

Ofte stillede spørgsmålm om Eee Pad TF201 DA6915

Brug af MeOS til VTR-løb (baseret på version 3.3 af MeOS med support for dansk sprog)

Installations og brugermanual for ios - brugere af Akutudkald.

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

ViKoSys. Virksomheds Kontakt System

Installations guide. Online harddisk (Chili Cloud) til PC og Mac

Jeg har anvendt Chrome måske ser det lidt anderledes ud i andre browsere).

Udvikling af hardware prototyper Introduktion øvelser Region Midtjylland, Aarhus,

Adobe Elements Lektion 2

Vejledning til Forum på Foreningens Hjemmeside. Skrevet af Carl Andersen Vemmelev Webdesign

EasyIQ ConnectAnywhere Release note

PHP Crash course. Databaser

ipad for let øvede modul 7 FaceTime

ereolen.dk -Sådan downlåner du -Sådan anvender du på ebogslæser, tablet og smartphone

Vejledning. Trådløst netværk med private enheder

Tweet dine råd - Og gør dem levende med Vine og Instagram

Guide til PlaNet v1.11. Original skrevet af:

Brugervejledning SkyHost Jobs app IOS og Android

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau

Malwarebytes en guide. Hanne B. Stegemüller 9. juni 2015

IsenTekst Indhold til Internettet. Manual til Wordpress.

INDHOLDSFORTEGNELSE. INDLEDNING... 7 Kristian Langborg-Hansen. KAPITEL ET... 9 I gang med App Inventor. KAPITEL TO...

Byg web sider. Introduktion:

Citrix Receiver guide til Mac, Iphone, Ipad Version

Lav din egen forside i webtrees

Medarbejderguide til INNOMATE HR Medarbejderplan. Indhold: Log på MUS. Forberedelse til MUS

Anvendelse af metoder - Programmering

TRIN FOR TRIN GUIDE VELUX Tilbudsberegner

Vejledning til brug af IT for nye elever

INSTALLATIONS GUIDE. Online harddisk (Chili Cloud) TIL PC OG MAC FIBERBREDBÅND TV TELEFONI

Installationsvejledning. SALUS Smart Home

Bootstrap Tutorial LAV EN SIMPEL RESPONSIVE SIDE MED BOOTSTRAP MATHIAS HERSKIND GROTRIAN

Printer Driver. Installationsvejledning. I denne vejledning beskrives, hvordan du installerer printerdriveren til Windows Vista.

My Shop. Funktioner, oversigt: Kom i gang: Online shop system

Pædagogisk IT. Vejledning i Office 365 til elever og deres familier. Version 4 Side 1. Kan udfyldes for at hjælpe med at huske

Manual til WordPress CMS

ECdox som favorit. Indledning 1. Internet Explorer 2. Chrome 4. Safari 5. Favorit på mobile enheder 6 Android 6 IOS 7. ECdox på mobile enheder 7

Transkript:

Watch Me Sæson 2 - Lektion 19

I sidste uge I sidste uge tog vi en lille maraton, for at få lavet version 0.5 af ugesedel appen, og lektionen blev 2.5 timer lang. Undskyld! Vi brugte tiden på: At lave en UIDatePicker som erstattede tastaturet så vi kunne sætte et tekstfelt på og styre input. At lave modellen til ugesedel viewet så den hentede timeregistrerings summer fra databasen ud for den uge som en dato indgår i At kunne få appen til at sende en e-mail (copy paste fra online dokumentationen)

Spørgsmål til sidste uge? Aftenskole i programmering

I aften Scope for de sidste 2 lektioner Grundlæggende Watch apps dele Hvordan vi får Watch ind i vores ugesedel Watch Me eksempel app vi kan eksperimentere i.

Husk at række hånden op 1. Skriv dit spørgsmål. 2. Ræk hånden op 3. Jeg holder flere spørge pauser undervejs

Scope for lektion 19 og 20 Watch delen kan sagtens i sig selv tage 20 lektioner, så vi er nød til tage en praktisk vinkel hvor i kan eksperimentere efter aftenskolen er slut. Derfor er fokus for mig at give jer noget grundlæggende watch viden de sidste 2 lektioner. For at holde det simpelt, laver vi en ny app WatchME som ikke er knyttet til vores ugesedel app Jeg viser jer dog hvordan i får Watch ind i jeres ugesedel app, så kan i senere kopiere jeres kode over fra WatchME appen når i kommer der til.

Spørgsmål til scope? Aftenskole i programmering

Grundlæggende Watch Watch er ikke en erstatning for en iphone, det er et forlængelse af en app på din iphone. Watch har et lille batteri, og er begrænset af fysisk størelse, så det er en meget begrænset enhed. (Det er selvfølgelig vildt spændende at være begrænset) Watch apps kører på uret, uden at iphonen behøver at være i nærheden. Det kræver dog en iphone for at installere appen på uret. Installation af Watch Apps foregår via Watch Appen på din iphone hvor du aktiverer apps på telefonen og fjerner dem igen. Du kan også afinstallere direkte fra uret på samme måde som du sletter apps på din iphone.

Urets hoveddele Komplikationer, på din urskive Notifikationer fra din app. Appens brugergrænseflade En hurtig launch brugergrænseflade En mere avanceret brugergrænseflade (ofte i form af et tabel view)

Komplikationer anbefales Komplikationer er ment som små ikoner der viser aktuelt info. Din trænings cirkler Vejr info mm Når man dapper på en komplikation åbnes appen. Hvis en komplikation anvendes på en urskive så holdes appen kørende i hukommelsen = hurtig launch af appen når du skal bruge den Fordi komplikationen giver værdi og som minimum kan bruges som genvej til din app så anbefaler Apple at man laver en komplikation til sin app.

Notifikationer anbefales Fordi Watch ikke er en aktive device som din iphone men noget du lyn hurtigt kigger på så anbefales det at man laver notifikationer når der er noget vigtigt at kigge på. Notifikationer og Komplikationer kæder din app sammen med watch os. De udvider uret med muligheder for at tale sammen med din app. De er et interface til din app.

En Watch App består af: Selve Watch Appen. En WatchKit Extension En iphone app. Link til dokumentation

Watch App er et Target til din ios app I vores Ugesedel app vælger du File New Target. Her vælger du WatchOS / WatchKit Her angiver du så et navn til dit produkt (din bundle) Og VIGTIGT sæt flueben i disse 2 Det viser jeg jer lige i xcode

Spørgsmål? Aftenskole i programmering

Watch Me app Vi laver en meget simpel Watch Me App til brug for oprettelse af tekst. Det kunne være tidsregistrering, det kunne være navne det kunne være alt muligt vi registrerer, så jeg har valgt at det er korte notater. Appen laver vi som en Watch OS med ios App Tid til at Create new Project in xcode.

Hvad så vi i xcode Jeg oprettede WatchMe appen. Jeg ændrede Schemaet til at være iphone 7 + 38 mm ( i kan vælge hvad i vil) Jeg kørte appen og vi fik så startet 2 simulatorer. En Watch Simulator og en iphone simulator I vores projekt er der 3 WatchMe foldere WatchMe = Ios App som vi kender det WatchMe WatchKit App = selve Watch appen (herunder interface) WatchMe WatchKit Extension = filer der bruges til at forbinde watch app med watch os. (groft fortalt)

Brugergrænsefladen Vi laver en liste (en tabel over noter) og en knap til at oprette en ny note med. Listen (Tabellen) er lidt anderledes end UITableViewController, i og med at der ikke er logik til at genbruge celler som vi kender det fra ios. En tabel er en fast tabel, og rækkerne i tabellen er strong linket. Og fordi der er begrænset ressourcer at gøre godt med så skal vi helst holde os omkring 20 rækker Tid til Xcode.

Hvad så vi i xcode En tabel indsætter en enkelt række Brugergrænsefladen (storyboardet) ligger i WatchKit App, men classerne vi linker sammen med brugergrænsefladen placerer vi i WatchKit Extension Vi lavede en Strong outlet fra vores Tabel til InterfaceController.swift classen (vores ViewController ) så vi har en tabel outlet vi kan smide output i Vi lavede en ny classe der nedarvede fra NSObject som vores note row controller skulle bruge. (NoteRow) Vi gav vores NoteRow controller (celle controller) identifier strengen tablerow, lige som du kender det fra ios. Vi oprettede en outlet til vores row i den nye NoteRow Vi oprettede en knap Ny Note Bemærk at vi ikke frit kan bestemme hvor knappen skal være. Vi oprettede en Action fra knappen til InterfaceController.swift classen, som vi kaldte createnewnote, og smed en print i den så vi kunne se at den blev kaldt.

Sammenligning ios Vi har en tableviewcontroller som nedarver fra UITableViewController WatchOS Vi har en tabelcontroller som nedarver fra WKInterfaceTable Vi har en celle i vores tabel som nedarver fra UITableViewCell Vi har en row i vores Tabel som nedarver fra NSObject Vores Celle har en identifer streng, så controller kan styre den Vores Row har en indentifier streng så vores controller kan styre den Vores viewcontroller nedarver fra UIViewController Vores InterfaceController nedarver fra WKInterfaceController

Spørgsmål? Der er lidt forskelle mellem Watch og ios udvikling, men der er også mange ligheder!

Vi smider noget dummy data i. Tabellen på Watch er statisk. Dvs der er ikke noget ReuseCellWithIdentifier ligesom vi har på ios. Man udfylder tabellen med data og så er alt data i hukommelsen så når man scroller så er det alt data der scrolles mellem Derfor anbefaler Apple omkring max 20 rækker i en tabel. For at vi kan se hvordan det kører med en Watch tabel smider vi noget dummy data i. Note 1, note 2 osv. Tid til xcode.

Hvad så vi i Xcode Aftenskole i programmering Vi skal selv fortælle hvor mange rækker vi har på tabellen Tabellen (WKInterfaceTable)har en metode der heder.rowcontroller som kan give os den controller classe der er ansvarlig for en bestemt række med det index vi ber om. Der er ikke noget Section for row at indexpath. Der er kun en meget simpel fast række tabel. Bemærk at rowlabel teksten angives med en funktion settext() og ikke bare rowlabel.text =, et spørgsmål om stil :-)

Vi smider en simpel model ind Vi skal ikke have hardcodet værdier i vores række så vi laver et array af strenge i stedet for at bruge faste værdier. Og så flytter vi logikken om at placere rækker ned i updateui() som vi kender det. Så det gør jeg lige i xcode..

Spørgsmål til den meget simple tabel

Indtastning på Watch På Watch har vi ikke et tastatur. I Watch 3 kom der et bogstave skrive system kaldt Scribble, men det fås ikke i DK endnu I stedet for at tastatur har vi nogle faste værdier, eller vi kan tale til uret som oversætter til tekst. Dette ser vi bla i messenger appen I vores WatchMe app laver vi det så man kan vælge en fast værdi, indtale sin note, eller bruge en emoji.

Tale kræver at du tester på Watch Ligesom sidste uge hvor vi ikke kunne sende en email med mindre vi kørte vores app på vores iphone, så kan du heller ikke bruge tale funktionen på uret med mindre du tester på dit ur. Modsat sidste uge, kan jeg ikke vise det for det er ikke muligt (endnu) at fange skærmen fra uret. Så i er nød til at prøve det selv hvis i vil. Løsningen er den samme som i sidste uge. Du sætter din iphone til din mac og vælger at køre appen på din iphone + Watch Det kan tage lidt tid for din mac at finde ud af at tale sammen med dit ur og sende koden over, så hav lidt tålmodighed og lås dine devices op. Hvis du får fejl, som i sidste uge, med profiler mm. Så følg den vejledning xcode giver dig.

presenttextinputcontroller WKInterfaceController har en funktion der smider en textinputcontroller op som et modalt view til input. TextInputControlleren, giver os mulighed for at vælge blandt faste værdier, indtale en tekst, vælge en emoji eller vælge en animeret emoji Metoden tager en Closure til at sætte de valgte værdier. Tid til at se på den funktion i xcode.

Hvad så vi i xcode presenttextinputcontroller, tager et array med faste værdier (dem kan vi sætte til nil En enum om hvilke features vi vil tilbyde, plain = tale, emoji og animeret emoji Completion er en closure, der som parameter skal tage et optional array (vores valgte tekst / emoji) og ikke returnerer noget Vores closure skrev vi [unowned self] <parameter> in foran, og det betyder at vi ikke holder en reference til self. [unowned self] er det vi kalder en capture liste.

Spørgsmål? Aftenskole i programmering

Til næste uge Prøv at lave koden selv, og leg med de forskellige muligheder. I stedet for note kan det være en TimeEntry beskrivelse eksempel

Planen for næste uge Kigger vi på hvordan vi laver segue på Apple Watch, så vi kan skifte til andre skærme med mere info Kigger lidt på hvordan vi kan gemme data på uret (ikke Core Data) Og så runder vi aftenskolen af.

Spørgsmål på falderebet? Aftenskole i programmering

På gensyn i næste uge. Aftenskole i programmering