Letterfrequentie turven Hoofdstuk 9.4 Letterfrequentie turven
Arrays Array: rij genummerde variabelen declaratie van een array tabel 1 2 3 4 length 5 int [ ] tabel; tabel = new int [5]; creëren van het eigenlijke array-object
Tekst Analyse TekstAnalyse class TekstAnalyse : Activity EditText LinearLayout DiagramView class DiagramView : View
Tekst Analyse public class TekstAnalyse : Activity { EditText tekst; DiagramView diagram; protected override void OnCreate(Bundle b) { base.OnCreate(b); LinearLayout s = new LinearLayout(this); tekst = new EditText(this); diagram = new DiagramView(this); tekst.AfterTextChanged += veranderd; s.AddView(tekst); s.AddView(diagram); SetContentView(s); } public void veranderd(object o, EventArgs e) { diagram.Invoer = tekst.Text; diagram.Invalidate( ); } }
Tekst Analyse 26 9 5 1 14 6 8 public class DiagramView: View { public string Invoer; protected override void OnDraw(Canvas cv) { base.OnDraw(cv); tellers 9 5 1 14 2 3 4 26 Length 6 8 7 int [ ] tellers; tellers = new int [26]; } }
Tekst Analyse 26 9 5 1 14 6 8 public class DiagramView: View { public string Invoer; protected override void OnDraw(Canvas cv) { base.OnDraw(cv); tellers 9 5 1 14 2 3 4 26 Length 6 8 7 int [ ] tellers; tellers = new int [26]; foreach(char c in Invoer) if (c>='a' && c<='z') tellers[ ]++; c-'a' int w = Width / max; int h = Height/ 26; , y=0; foreach(int a in tellers) { cv.DrawText( a.ToString()...); cv.DrawRect( x, y, x+a*w, y+h, verf ); y = y+h; } } }
string versus array Klasse Type met speciale syntax Indexer -notatie string s = new string(); char[] a = new char[10]; Indexer -notatie Speciale index-notatie c = s[2]; s[3] = c; c = a[2]; a[3] = c; Speciale quote-notatie s = "hallo"; Property s.Length Property a.Length Methoden s.IndexOf(t); s.Substring(3,2);
Array / List array: oject dat een rij waarden bevat, met speciale notaties List: array “ingepakt” in een klasse, met extra methodes Declaratie Creatie Opvragen Wijzigen Lengte String [ ] a; List<String> a; List a; a = new String[10]; a = new List<String>(); a = new List(); ……a[5]…… …a.Get(5)… ……a[5]…… a[5] = ……; a[5] = ……; a.Set(5,…); …a.Length… …a.Count… Invoegen Achtervoegen a.Insert(5,…); a.Add(…);
Files lezen en schrijven Niet in diktaat Files lezen en schrijven
Zoek een directory string dir1 = System.Environment.GetFolderPath ( System.Environment.SpecialFolder.Personal); string dir2 = Android.OS.Environment. ExternalStorageDirectory.AbsolutePath; string dir3 = Path.Combine (dir2, "Jeroen"); if ( ! Directory.Exists(dir3)) Directory.CreateDirectory(dir3);
Schrijf en lees een file string file1 = Path.Combine(dir3, "test1.txt" ); File.WriteAllText ( file1, "Hallo\nDit is de tweede regel"); string tekst = File.ReadAllText(file1); foreach (string regel in File.ReadLines(file1) ) doeIetsLeuksMet(regel);
Welke files heb ik? string res = ""; foreach (string naam in Directory.EnumerateFiles(dir3) ) { string kort = Path.GetFileName(naam); res += $"{kort}: {File.ReadAllLines(naam).Length}\n"; } tv . Text = res;
Hoofdstuk 10.1-2 ListView
ListView public class KleurenApp : Activity { ListView kleurLijst; ArrayAdapter<string> kleurAdp; string[] kleuren = {"rood", "wit", "blauw"}; protected override void OnCreate(Bundle b) { base.OnCreate(b); kleurLijst = new ListView(this); kleurAdp = new ArrayAdapter<string> (this, SimpleListItemChecked, kleuren); kleurLijst.Adapter = kleurAdp; kleurLijst.ChoiceMode = Multiple; kleurLijst.ItemClick += iklik; SetContentView(kleurLijst); } public void iklik(object o, ItemClickEventArgs e) { string s = kleuren[e.Position]; Toast.MakeText(...s...) . Show( ); } }
ListView
ListView public class KleurenApp : Activity { ListView kleurLijst; ArrayAdapter<string> kleurAdp; string[] kleuren = {"rood", "wit", "blauw"}; public void vvklik(object o, EventArgs e) { string bericht = "mijn kleuren: "; var ps = kleurLijst.CheckItemPositions ; for (int t=0; t<ps.Count; t++) if ( ps.ValueAt(t) ) bericht += kleuren[ ps.KeyAt(t) ] ; Intent i = new Intent(Intent.ActionSend); i.SetType("text/plain"); i.PutExtra(Intent.ExtraText, bericht); StartActivity( i ); } }
ListView public class KleurenApp : Activity { ListView kleurLijst; ArrayAdapter<string> kleurAdp; string[] kleuren = {"rood", "wit", "blauw"}; protected override void OnCreate(Bundle b) { base.OnCreate(b); kleurLijst = new ListView(this); kleurAdp = new ArrayAdapter<string> (this, SimpleListItemChecked, kleuren); kleurLijst.Adapter = kleurAdp; kleurLijst.ChoiceMode = Multiple; kleurLijst.ItemClick += iklik; SetContentView(kleurLijst); } }