Syntax van opdrachten opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam += returnexpressie; if)(expressieopdrachtblok opdrachtelse typeexprinnaamforeach()opdracht
Punten- klikker } { protected override void OnDraw(Canvas c) { base.OnDraw(c); } public MijnView(Context c) : base(c) { this.Touch += raakAan; } class MijnView : View public void raakAan(object o, TouchEventArgs tea) { } } c.DrawBitmap(b, p.X, p.Y, new Paint()); x = tea.Event.GetX(); y = tea.Event.GetY(); this.Invalidate(); float x, y; PointF p; p = new PointF(x, y); foreach( PointF p in alles) met bitmap b = BitmapFactory.DecodeResource (...Icon...); Bitmap b; List alles = new List ( ) ; alles.Add(p);
Tekst Analyse public class DiagramView: View { protected override void OnDraw(Canvas cv) { base.OnDraw(cv); } } public string Invoer; tellers Length int [ ] tellers; tellers = new int [26]; tellers[ ]++; foreach(char c in Invoer) c-'a' if (c>='a' && c<='z') foreach(int a in tellers) { } cv.DrawRect( x, y, x+a*w, y+h, verf ); cv.DrawText( a.ToString()... ); int h = Height/ 26; y = y+h;, y=0; int w = Width / max;
Waarom lokale variabelen? nAls tussenresultaat in berekeningen c.DrawRect ( …, verf); c.DrawLine ( …, verf); c.DrawLine ( …, verf); } x, y-br, x+br, y int tx = x+br/2; int ty = y–br–br/2; x, y-br, tx, ty tx, ty, x+br, y-br private void tekenHuis (Canvas c, … ) { Paint verf = new Paint(); int x, int y, int br) (x,y)br (tx,ty) twee keer nodig drie keer nodig
Waarom lokale variabelen? nAls tussenresultaat in berekeningen Color c = new Color(64,0,0); verf.Color = c; een keer nodig verf.Color = new Color(64,0,0); dan kan het ook zonder variabele KaartView kaart; kaart = new KaartView(this); SetContentView(kaart); SetContentView( new KaartView(this) );
Waarom lokale variabelen? nAls tussenresultaat in berekeningen Intent i = new Intent( this, typeof(Hallo) ); StartActivity( i ); KaartView kaart; kaart = new KaartView(this); SetContentView(kaart); SetContentView( new KaartView(this) ); StartActivity( new Intent( this, typeof(Hallo) ) );
Waarom lokale variabelen? nAls tussenresultaat in berekeningen new Intent( this, typeof(Hallo) ) twee keer nodig? PutExtra is een void -methode in klasse Intent Intent i = new Intent( this, typeof(Hallo) ); i.PutExtra( "wat", "hoi" ); StartActivity( i ); Intent. PutExtra( "wat", "hoi" ) StartActivity( ); StartActivity( new Intent( this, typeof(Hallo) ). PutExtra( "wat", "hoi" ) );
Waarom methodes? private void tekenHuis(…) { …. DrawRect (…); …. DrawLine (…); …. DrawLine (…); } protected override void OnDraw(Canvas c) { …. tekenHuis (…); …. tekenHuis (…); …. tekenHuis (…); } een keer definiëren drie keer gebruiken
Waarom methodes? private void einde( object o, EventArgs ea) { this.Finish( ); } protected override void OnCreate(Bundle b) { Button b = new Button( ); b.Click += einde; } een keer gebruiken een keer definiëren
Waarom methodes? private void einde( object o, EventArgs ea) { this.Finish( ); } protected override void OnCreate(Bundle b) { Button b = new Button( ); b.Click += einde; een keer definiëren (object o, EventArgs ea) => { this.Finish( ) ; } ;
Waarom methodes? private void einde( object o, EventArgs ea) { this.Finish( ); } protected override void OnCreate(Bundle b) { Button b = new Button( ); b.Click += einde; (object o, EventArgs ea) => { this.Finish( ) ; } ; type kan automatisch bepaald worden body met één opdracht mag zonder accolades
Waarom methodes? protected override void OnCreate(Bundle b) { Button b = new Button( ); b.Click += einde; (o,ea) => this.Finish( ) ;
Waarom methodes? protected override void OnCreate(Bundle b) { Button b = new Button( ); b.Click += einde; (o,ea) => StartActivity( new Intent( this, typeof(Hallo) ). PutExtra( "wat", "hoi" ) ) ;
PutExtra / GetStringExtra protected override void OnCreate(Bundle b) { Button b = new Button( ); b.Click += einde; (o,ea) => StartActivity( new Intent( this, typeof(Hallo) ). PutExtra( "wat", "hoi" ) ) ; class Hallo { protected override void OnCreate(Bundle b) { string tekst = Intent.GetStringExtra( "wat" ) ; if (tekst==null) tekst = "hallo" ; ??
public class KleurApp2 : Activity } void OnCreate( Bundle b ) {...} void verstuur( object o, EventArgs ea ) {...} void nieuwItem( object, EventArgs ) {...} void itemKlik( object o, EventArgs ea ) {...} void OnActivityResult ( int pos, Result res, Intent data ) {...} ListView kleurLijst; List kleuren; KleurItem[] defaults =...; KleurenAdapter kleurAdapter; {
ListView public class KleurenApp : Activity { } public void klik(object o, EventArgs e) } { public void iklik(object o, ItemClickEventArgs e) } { Intent i = new Intent(this, typeof(KleurEdit)); StartActivityForResult( i, 9999 ); Intent i = new Intent(this, typeof(KleurEdit)); StartActivityForResult( i, pos ); int pos = e.Position; KleurItem item = kleurItems[pos]; i.PutExtra("naam", item.Naam ); i.PutExtra("kleur", item.Kleur.ToArgb() ); override void OnActivityResult(int pos,... ) {... }
ListView public class KleurenApp : Activity { } public void klik(object o, EventArgs e) {... } public void iklik(object o, ItemClickEventArgs e) override void OnActivityResult (int pos, Result res, Intent data ) {... } } { KleurItem k = new KleurItem(naam,kleur); kleurItems[pos] = k; if (pos==9999) kleurItems.Add( k ); else naam = data.GetStringExtra("naam");... if (res==Result.Ok) { } else if (pos < 9999) kleurItems.RemoveAt( pos );
Database SQLite using SQLite; SQLiteConnection db; db = new SQLiteConnection( filenaam ); string filenaam = "test.db"; db.CreateTable ( ); ( ); class KleurItem } { public string Naam ; public Color Kleur ; public int R ; public int G ; public int B ; public int Id ; [PrimaryKey, AutoIncrement] {get;set;} KleurItem k = new KleurItem("rood", Color.Red); KleurItem(string s, Color c) { Naam=s; R=c.R; G=c.G; B=c.B; } db.Insert( k ); var query = db.Table ( ); foreach (KleurItem k in query) doeIetsLeuksMet( k ); k.Naam = "Bordeauxrood"; db.Update( k ); k.Id = 42; db.Delete( k );
public class KleurApp2 : Activity } void OnCreate( Bundle b ) {...} void verstuur( object o, EventArgs ea ) {...} void nieuwItem( object, EventArgs ) {...} void itemKlik( object o, EventArgs ea ) {...} void BeginKleuren( ) {...} void LeesKleuren( ) {...} void OnActivityResult ( int pos, Result res, Intent data ) {...} ListView kleurLijst; List kleuren; KleurItem[] defaults =...; KleurenAdapter kleurAdapter; {
public class KleurApp2 : Activity void BeginKleuren( ) // zonder database ListView kleurLijst; List kleuren; KleurItem[] defaultkleuren =...; KleurenAdapter kleurAdapter; { { } kleuren = new List (defaultkleuren); void BeginKleuren( ) // met database { } database = new SQLiteConnection( "kleuren.db" ); SQLiteConnection database; bool bestaat = File.Exists( "kleuren.db" ); if (bestaat==false) { } database.CreateTable ( ); foreach (KleurItem k in defaultkleuren) database.Insert( k );
public class KleurApp2 : Activity void LeesKleuren( ) // zonder database ListView kleurLijst; List kleuren; KleurItem[] defaultkleuren =...; KleurenAdapter kleurAdapter; { { } kleurAdapter = new KleurenAdapter(kleuren); kleurLijst.Adapter = kleurAdapter; void LeesKleuren( ) // met database { } var query = database.Table ( ); SQLiteConnection database; kleuren = new List ( ); foreach (KleurItem k in query) kleuren.Add( k ); kleurAdapter = new KleurenAdapter(kleuren); kleurLijst.Adapter = kleurAdapter;
public class KleurApp2 : Activity } void OnCreate( Bundle b ) {...} void verstuur( object o, EventArgs ea ) {...} void nieuwItem( object, EventArgs ) {...} void itemKlik( object o, EventArgs ea ) {...} void BeginKleuren( ) {...} void LeesKleuren( ) {...} void OnActivityResult ( int pos, Result res, Intent data ) {...} ListView kleurLijst; List kleuren; KleurItem[] defaults =...; KleurenAdapter kleurAdapter; { public class KleurApp3 : Activity } void OnCreate( Bundle b ) {...} void itemKlik( object o, EventArgs ea ) {...} void BeginKleuren( ) {NIEUW} void LeesKleuren( ) {NIEUW} void OnActivityResult ( int p, Result r, Intent d ) {NIEUW} ListView kleurLijst; List kleuren; KleurItem[] defaults =...; KleurenAdapter kleurAdapter; SQLiteConnection database; { void verstuur( object o, EventArgs ea ) {...} void nieuwItem( object, EventArgs ) {...}
public class KleurApp2 : Activity } void OnCreate( Bundle b ) {...} void verstuur( object o, EventArgs ea ) {...} void nieuwItem( object, EventArgs ) {...} void itemKlik( object o, EventArgs ea ) {...} void BeginKleuren( ) {...} void LeesKleuren( ) {...} void OnActivityResult ( int pos, Result res, Intent data ) {...} ListView kleurLijst; List kleuren; KleurItem[] defaults =...; KleurenAdapter kleurAdapter; { public class KleurApp4 : KleurApp2 } void BeginKleuren( ) {NIEUW} void LeesKleuren( ) {NIEUW} void OnActivityResult ( int p, Result r, Intent d ) {NIEUW} SQLiteConnection database; {
public class KleurApp2 : Activity } void OnCreate( Bundle b ) {...} void verstuur( object o, EventArgs ea ) {...} void nieuwItem( object, EventArgs ) {...} void itemKlik( object o, EventArgs ea ) {...} void BeginKleuren( ) {...} void LeesKleuren( ) {...} void OnActivityResult ( int pos, Result res, Intent data ) {...} ListView kleurLijst; List kleuren; KleurItem[] defaults =...; KleurenAdapter kleurAdapter; { public class KleurApp4 : KleurApp2 } void BeginKleuren( ) {NIEUW} void LeesKleuren( ) {NIEUW} void OnActivityResult ( int p, Result r, Intent d ) {NIEUW} SQLiteConnection database; { virtual protected virtual protected override protected override protected override protected override protected private override protected private
Database SQLite using SQLite; SQLiteConnection db; db = new SQLiteConnection( filenaam ); string filenaam = "test.db"; db.CreateTable ( ); ( ); class KleurItem } { public string Naam ; public int R ; public int G ; public int B ; public int Id ; [PrimaryKey, AutoIncrement] {get;set;} KleurItem k = new KleurItem("rood", Color.Red); KleurItem(string s, Color c) { Naam=s; R=c.R; G=c.G; B=c.B; } db.Insert( k ); var query = db.Table ( ); foreach (KleurItem k in query) doeIetsLeuksMet( k ); k.Naam = "Bordeauxrood"; db.Update( k ); k.Id = 42; db.Delete( k );. Where( ); k => k.G>128