Activity Bij het starten van een app:

Slides:



Advertisements
Verwante presentaties
Het type int Tekenen met Java operatoren
Advertisements

Hoofdstuk 2 Hallo, C# !.
Hoofdstuk 8 Objecten en klassen.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
Opgave 2a nMet een InputStream lees je bytes uit een binare file nMet een Reader lees je characters uit een tekstfile.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Hoorcollege 2 Basis gameprogrammeren. Soorten programma’s Console- applicatie.
Hoorcollege 4 Objecten en methoden. Eigen methode toevoegen class Painter : Game { public void HandleInput() { … } protected override void Update(GameTime.
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
Hoofdstuk 3 Methoden om te tekenen.
Opgave 1a ncompiler: vertaalt broncode naar machine-uitvoerbare code ninterpreter: voert broncode direct uit.
Hoofdstuk 3 Tekenen en rekenen.
Hoofdstuk 4 Nieuwe methoden. Tekenen g.drawRect(20,60,40,40); g.drawLine(20,60,40,40); g.drawLine(40,40,60,60); g.drawRect(70,60,40,40); g.drawLine(70,60,90,40);
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
Declaratie en toekenningen nEén keer declarareren nMogelijk meerdere toekenningen int x; x = 100; x = 250; x = x + 1; x = 2 * x; int x = 100; x = 100;
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Hoofdstuk 2 Hallo, C# !. Opbouw broncode nOpdrachten om het geheugen te veranderen nOpdrachten zijn gegroepeerd in methoden nMethoden zijn gegroepeerd.
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Soorten programma’s nConsole- applicatie. Soorten programma’s nConsole- applicatie nWindows- applicatie.
Eerste deeltentamen nNagekeken werk ligt voor in de zaal nNeem je eigen werk mee: in het college wordt het besproken nVragen over de beoordeling: in de.
1e Deeltentamen nNagekeken werk ligt voor in de zaal (alfabetisch op achternaam) nNeem het even mee, de uitwerking wordt in het college besproken nDiscussies.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 2 inleveropdrachten) college Tent. 1 Tent. 2 college prakt. 1 prakt. 2 prakt.
Resources. Kompas } { protected override void OnDraw(Canvas canv) { base.OnDraw(canv); } public KompasView(Context c) : base(c) { } class KompasView :
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Windows-applicatie class HalloWin1 { static void Main ( ) { } Form scherm; scherm = new Form( ); Application.Run(scherm); using System.Windows.Forms; scherm.Text.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Informatie beoordelen If else Switch En Wiskunde.
Syntax van opdrachten opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam += returnexpressie; if)(expressieopdrachtblok.
Meer constructormethodes in klasse Kleur { class Kleur } public byte Rood, Groen, Blauw; public Kleur( byte r, byte g, byte b ) { } Rood=r; Groen=g; Blauw=b;
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Aanroep van een methode voert opdrachten uit in de body daarvan
ISensorEventListener
1e Deeltentamen Nagekeken werk ligt voor in de zaal (alfabetisch op achternaam) Neem het even mee, de uitwerking wordt in het college besproken Discussies.
Gameprogrammeren: Objecten en geheugen
Schilderij class MijnAct : Activity { MijnView scherm;
Gameprogrammeren: Keuzeopdrachten
Gameprogrammeren: Overerving
Hoofdstuk 9.2 Strings.
Letterfrequentie turven
Gameprogrammeren: Variabelen, declaraties en toekenningen
Wat gaan we doen? Theorie (14 colleges + 3 deeltentamens)
Syntax van opdrachten opdracht naam naam ( expressie ) ; . , expressie
Gameprogrammeren: Expressies
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Gameprogrammeren: Methoden
Arjan Egges & Paul Bergervoet
vandaag èn vrijdag deadline maandag 12 dec.
Gameprogrammeren: Overerving in Painter
Gameprogrammeren: Player input in Painter
Gameprogrammeren: Programmastructuur
Basis Gameprogrammeren
Gameprogrammeren: Herhalingen
Declaratie Declaratie reserveert geheugenruimte
1. Een klasse is… Een groepje opdrachten Een groepje variabelen
Gameprogrammeren: Game Basics
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
Voorbeeld: Simulatie van bewegende deeltjes
Wat gaan we doen? Theorie (14 colleges + 3 deeltentamens)
Voortborduren op eerder gedaan werk
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Aanroep van een methode voert opdrachten uit in de body daarvan
Gameprogrammeren: Klassen en objecten
Interface In de library In je eigen programma wat is er nodig om een
Arjan Egges & Paul Bergervoet
Exceptions Exception:
Eerste deeltentamen Nagekeken werk ligt voor in de zaal
Transcript van de presentatie:

Activity Bij het starten van een app: Operating system maakt een Activity -object aan… …en neemt dat onderhanden met de methode OnCreate( ) Klasse uit library Android.App Methode uit klasse Activity

Maak je eigen View bestaat nog niet… protected override void OnCreate(Bundle b) { base.OnCreate(b); TextView t; t = new TextView(this); this.SetContentView(t); AnalogClock a; a = new AnalogClock(this); this.SetContentView(a); MondiaanView m; m = new MondriaanView(this); this.SetContentView(m); }

Maak je eigen View public class MondriaanView : View { public MondriaanView(Context ct) { } : base(ct) base.View(ct); this.SetBackgroundColor(Color.White); protected override void OnDraw(Canvas cv) { base.OnDraw(cv); cv . DrawLine(…); cv . DrawRect(…); cv . DrawCircle(….); } }

Hallo x (0,0) y DrawText DrawLine DrawBitmap DrawRect DrawOval links boven rechts onder DrawBitmap (x,y) Android-versie DrawOval DrawCircle (x,y) r

compositie met blauw en rood (vrij naar Piet Mondriaan) Tekenen compositie met blauw en rood (vrij naar Piet Mondriaan) Paint verf; verf = new Paint(); verf.Color=Color.Black; cv.DrawRect( 10, 0, 20, 100, verf ); cv.DrawRect( 50, 0, 60, 100, verf ); cv.DrawRect( 90, 0, 100, 100, verf ); cv.DrawRect( 0, 40, 200, 50, verf ); cv.DrawRect( 0, 70, 200, 80, verf ); verf.Color = Color.Blue; cv.DrawRect( 0, 50, 10, 70, verf ); verf.Color = Color.Red; cv.DrawRect(100, 0, 200, 40, verf );

Variabelen x1 x2 x3 y1 y2 int balk, breed, hoog int x1, x2, x3, y1, y2; x1=10; x2=50; x3=90; y1=40; y2=70; balk = 10; breed = 200; hoog = 100; Paint verf; verf = new Paint(); verf.Color=Color.Black; cv.DrawRect( x1, 0, x1+balk, hoog, verf ); cv.DrawRect( x2, 0, x2+balk, hoog, verf ); cv.DrawRect( x3, 0, x3+balk, hoog, verf ); cv.DrawRect( 0, y1, breed, y1+balk, verf ); cv.DrawRect( 0, y2, breed, y2+balk, verf ); verf.Color = Color.Blue; cv.DrawRect( 0, y1+balk, x1, y2, verf ); verf.Color = Color.Red; cv.DrawRect(x3+balk, 0, breed, y1, verf );

Makkelijk aanpasbaar?

Syntax van declaratie declaratie const = expressie var type naam ; , klasse naam int string

Syntax van expressies expressie getal ” ” symbool variabele expressie operator expressie ( expressie )

Gebruik van expressies in opdrachten klasse naam methode naam ( expressie ) ; . , object expressie property naam += variabele = expressie ;

Gebruik van expressies in opdrachten klasse naam methode naam ( expressie ) ; . , object expressie property naam += variabele = expressie ;

Gebruik van expressies in opdrachten en expressies klasse naam methode naam ( expressie ) ; . , object expressie property naam += variabele = expressie ; expressie constante operator ( ) variabele

Maak je eigen methode-definities Hoofdstuk 4.6-7 Maak je eigen methode-definities

Voorbeeld: Huizen

Aanroep van een methode voert opdrachten uit in de body daarvan Nieuwe methoden private void tekenHuis(…) { … . DrawRect (…); … . DrawLine (…); … . DrawLine (…); } Methode: groepje opdrachten met een naam protected override void OnDraw(Canvas c) { … . tekenHuis (…); … . tekenHuis (…); … . tekenHuis (…); } Aanroep van een methode voert opdrachten uit in de body daarvan

en bij aanroep meegeven Parameters private void tekenHuis (…) { (Canvas c, … ) c … . DrawRect (…); … . DrawLine (…); … . DrawLine (…); parameter declareren } protected override void OnDraw(Canvas c) { en bij aanroep meegeven … . tekenHuis (…); … . tekenHuis (…); … . tekenHuis (…); (c, …); }

this: het object dat OnDraw ook al onder handen heeft Het object this class HuizenView : View { } private void tekenHuis (Canvas c, …) { c . DrawRect (…); c . DrawLine (…); c . DrawLine (…); } protected override void OnDraw(Canvas c) { this: het object dat OnDraw ook al onder handen heeft this this this … . tekenHuis (c, …); … . tekenHuis (c, …); … . tekenHuis (c, …); }

teken driemaal een net iets ander huis Meer parameters teken driemaal een net iets ander huis nog meer parameters! protected override void OnDraw(Canvas c) { this . tekenHuis (c, …); this . tekenHuis (c, …); this . tekenHuis (c, …); 20, 100, 40); 70, 100, 40); 120, 100, 60); }

Meer parameters private void tekenHuis (Canvas c, … ) { Paint verf = new Paint(); int x, int y, int br) (tx,ty) int tx = x+br/2; int ty = y–br–br/2; c.DrawRect ( … , verf); c.DrawLine ( … , verf); c.DrawLine ( … , verf); x, y-br, x+br, y x, y-br, tx, ty tx, ty, x+br, y-br } (x,y) br protected override void OnDraw(Canvas c) { this . tekenHuis (c, …); this . tekenHuis (c, …); this . tekenHuis (c, …); 20, 100, 40); 70, 100, 40); 120, 100, 60); }

en des te lastiger aan te roepen... Flexibiliteit Hoe meer parameters, des te flexibeler de methode private void tekenHuis (Graphics gr, int x, int y, int br, int h, int dakh, Color kl, Color dakKl, … ) { dakh en des te lastiger aan te roepen... h (x,y) br

Flexibiliteit Veel parameters: Nu lastig om te programmeren In de toekomst gemakkelijk uit te breiden Weinig parameters: Nu gemakkelijk om te programmeren In de toekomst lastig te onderhouden

Communicatie met methoden Parameters : aanroeper geeft waarde door aan de methode Methode-resultaat : methode geeft waarde terug aan de aanroeper net zoals een wiskundige functie

Methoden met een resultaat type van het resultaat private int kwadraat (int x) { return x*x ; } waarde van het resultaat in speciale return-opdracht

Publieksvraag Schrijf een methode driewerf met een String-parameter, die 3 herhalingen ervan oplevert this.driewerf("Hoera!") "Hoera!Hoera!Hoera!" private string driewerf (string x) { } return x+x+x;

Aanroep van methoden Aanroep van void-methode geldt als opdracht zonder resultaat Aanroep van void-methode geldt als opdracht c.DrawLine(10,10, 20,20, verf) ; Aanroep van methode met resultaat geldt als expressie a = this.kwadraat (5) ; c.DrawLine(this.kwadraat (5), 10, 25, 50, verf); … this.kwadraat (5) + 1 …

Syntax van opdrachten opdracht naam naam ( expressie ) ; . , expressie klasse naam methode naam ( expressie ) ; . , object expressie property naam += variabele = expressie ; return expressie ;

Variabelen en objecten Hoofdstuk 5.1-2 Variabelen en objecten

Variabelen Variabele: geheugenplaats met een naam Declaratie: aangifte van het type van de variabele int x, y; x y 20 Toekenningsopdracht: variabele krijgt waarde x = 20;

Toekenningsopdrachten int x, y; x = 20 ; x y 20 50 25 26 Expressie aan de rechterkant mag andere variabelen gebruiken y = x + 5 ; Vorige waarde gaat verloren x = y * 2 ; y = y + 1 ;

Declaratie en toekenningen Eén keer declarareren Mogelijk meerdere toekenningen Declaratie en eerste toekenning int x; int x = 100; x = 100; x = 100; x = 250; x = x + 1; x = 2 * x;

Type van variabelen int geheel getal float getal met drijvende komma int x; float y; x 10 3 y 3.141592 3.333333 10.0 int geheel getal float getal met drijvende komma x = 10 ; y = 3.141592f ; y = 10 ; x = x / 3 ; y = y / 3 ;

Standaardtypes gehele getallen met een decimale punt 1 byte sbyte ± 127 byte 0..255 28-1 2 bytes short ± 32767 ushort 0..65535 216-1 4 bytes int ± 2 miljard uint 0..4 miljard 232-1 8 bytes long ± 1018 ulong 0..1019 264-1 met een decimale punt 4 bytes float 7 cijfers, afgerond, ≤1038 8 bytes double 15 cijfers, afgerond, ≤10300 16 bytes decimal 28 cijfers, exact, ≤1028

Constanten geheel getal (kleinst passende) met een decimale punt string hexadecimaal 137 –25 0x1A 0xFF 26 255 0.5 –273.15 6.02E23 1E3 3E–11 602000000000000000000000 1000 0.00000000003 "Hallo!" "A" "" "een \"citaat\"" "\n" "\\"

Objecten Object: groepje variabelen dat bij elkaar hoort 255 r g b 100 b 100 w 20 h 10 30 Left Right 20 Top 40 Bottom

Programma en Geheugen opdrachten variabelen methoden objecten klasse veranderen zijn gegroepeerd in zijn gegroepeerd in methoden objecten bewerken zijn gegroepeerd in hebben als type klasse klasse klasse

Objecten Object: groepje variabelen dat bij elkaar hoort 255 r g b 100 b 100 w 20 h 10 30 Left Right 20 Top 40 Bottom Size Color Rect 3 aantal 199.95 prijs Artikel

Syntax van declaratie declaratie const = expressie var type naam ; , klasse naam int float string

Publieksvraag a2 + b2 = c2 Schrijf methodes omtrek en diagonaal met een Rect als parameter, die dat uitrekenen Left Top Right Bottom br h public double diagonaal(Rect r) { } public int omtrek (Rect r) { } int br = r.Right-r.Left; int h = r.Bottom-r.Top; int a = r.Right-r.Left; int b = r.Bottom-r.Top; return 2*(br+h); return Math.Sqrt(a*a + b*b);

Hoofdstuk 6.1 Touch

Klikker class MijnAct : Activity { Button knop; protected override void OnCreate(Bundle b) { base.OnCreate(b); knop = new Button(this); knop.Click += klik; this.SetContentView(knop); } public void klik(object o, EventArgs ea) { } knop.Text = "1x geklikt"; }

Klikker Schilderij class MijnAct : Activity { MijnView scherm; protected override void OnCreate(Bundle b) { base.OnCreate(b); scherm = new MijnView(this); knop.Click += klik; this.SetContentView(scherm); } public void klik(object o, EventArgs ea) { } knop.Text = "1x geklikt"; }

Schilderij class MijnAct : Activity { MijnView scherm; protected override void OnCreate(Bundle b) { base.OnCreate(b); scherm = new MijnView(this); scherm.Click += klik; this.SetContentView(scherm); } } class MijnView : View { public MijnView(Context c) : base(c) { } protected override void OnDraw(Canvas c) { base.OnDraw(c); } c.DrawLine(...); }

A-Touch class MijnAct : Activity { MijnView scherm; protected override void OnCreate(Bundle b) { base.OnCreate(b); scherm = new MijnView(this); scherm.Touch += raakAan; this.SetContentView(scherm); } public void raakAan(object o, EventArgs ea) { } } class MijnView : View { public MijnView(Context c) : base(c) { } protected override void OnDraw(Canvas c) { base.OnDraw(c); } c.DrawLine(...); }

A-Touch V-Touch class MijnAct : Activity { MijnView scherm; protected override void OnCreate(Bundle b) { base.OnCreate(b); scherm = new MijnView(this); scherm.Touch += raakAan; this.SetContentView(scherm); } public void raakAan(object o, EventArgs ea) { } } class MijnView : View { public MijnView(Context c) : base(c) { } this.Touch += raakAan; protected override void OnDraw(Canvas c) { base.OnDraw(c); } c.DrawLine(...); public void raakAan(object o, EventArgs ea) { } }

V-Touch class MijnAct : Activity { MijnView scherm; protected override void OnCreate(Bundle b) { base.OnCreate(b); scherm = new MijnView(this); this.SetContentView(scherm); } } class MijnView : View { public MijnView(Context c) : base(c) { } this.Touch += raakAan; protected override void OnDraw(Canvas c) { base.OnDraw(c); } c.DrawLine(...); public void raakAan(object o, EventArgs ea) { } }

V-Touch class MijnAct : Activity { MijnView scherm; protected override void OnCreate(Bundle b) { base.OnCreate(b); scherm = new MijnView(this); this.SetContentView(new MijnView(this)); } } class MijnView : View { public MijnView(Context c) : base(c) { } this.Touch += raakAan; protected override void OnDraw(Canvas c) { base.OnDraw(c); } c.DrawLine(...); public void raakAan(object o, EventArgs ea) { } }

Cirkel- klikker class MijnAct : Activity { protected override void OnCreate(Bundle b) { base.OnCreate(b); this.SetContentView(new MijnView(this)); } } class MijnView : View { public MijnView(Context c) : base(c) { } this.Touch += raakAan; protected override void OnDraw(Canvas c) { base.OnDraw(c); } c.DrawLine(...); public void raakAan(object o, EventArgs ea) { } }

Cirkel- klikker } class MijnView : View { PointF p; float x, y; public MijnView(Context c) : base(c) { this.Touch += raakAan; } protected override void OnDraw(Canvas c) { base.OnDraw(c); } c.DrawCircle(x, y, 50, new Paint()); public void raakAan(object o, TouchEventArgs tea) { } x = tea.Event.GetX(); y = tea.Event.GetY(); this.Invalidate(); }

Cirkel- klikker } class MijnView : View { PointF p; public MijnView(Context c) : base(c) { this.Touch += raakAan; } protected override void OnDraw(Canvas c) { base.OnDraw(c); } c.DrawCircle(x, y, 50, new Paint()); public void raakAan(object o, TouchEventArgs tea) { } float x, y; x = tea.Event.GetX(); y = tea.Event.GetY(); p = new PointF(x, y); this.Invalidate(); }

Cirkel- klikker } class MijnView : View { PointF p; public MijnView(Context c) : base(c) { this.Touch += raakAan; } protected override void OnDraw(Canvas c) { base.OnDraw(c); } if (p ≠ null) c.DrawCircle(p.X, p.Y, 50, new Paint()); public void raakAan(object o, TouchEventArgs tea) { } float x, y; x = tea.Event.GetX(); y = tea.Event.GetY(); p = new PointF(x, y); this.Invalidate(); }

Cirkel- klikker } class MijnView : View { PointF p; public MijnView(Context c) : base(c) { this.Touch += raakAan; } protected override void OnDraw(Canvas c) { base.OnDraw(c); } if (p != null) c.DrawCircle(p.X, p.Y, 50, new Paint()); public void raakAan(object o, TouchEventArgs tea) { } float x, y; x = tea.Event.GetX(); y = tea.Event.GetY(); p = new PointF(x, y); this.Invalidate(); }

Opdrachten voorwaardelijk uitvoeren opdracht wordt steeds opnieuw uitgevoerd zolang voorwaarde geldt if while (temperatuur<0) temperatuur += 5; if (temperatuur<0) uitvoer.Text = "Het vriest!"; opdracht wordt alleen uitgevoerd als voorwaarde geldt

opdracht wordt alleen uitgevoerd als voorwaarde niet geldt Twee alternatieven if (temperatuur<0) uitvoer.Text = "Het vriest!”; else uitvoer.Text = "Het dooit."; opdracht wordt alleen uitgevoerd als voorwaarde niet geldt

Meer opdrachten als body if (temperatuur<0) uitvoer1.Text = "Het vriest"; { } uitvoer2.Text = "Koud he!"; accolades maken twee opdrachten tot één body

Vergelijk-operatoren < kleiner dan <= kleiner dan of gelijk aan > groter dan >= groter dan of gelijk aan == gelijk aan != ongelijk aan x=5 x wordt 5 ! x==5 is x gelijk aan 5 ?

Practicum en werkcollege groep wo vr begeleiders   15-17 9-11 13-15 1 214 161 023 Alejandro Robert 2 061 Lex Bas 3 083 Niels Bastiaan