//Funkcja wywołująca zapisywanie w kluczowych momentach (np przed zabiciem obiektu klasy Akcje) protected override void OnSaveInstanceState(Bundle outState) { Zarzadzanie.SaveGeme(); //Ponieżej zapisywanie do zmiennych w programie, ale nie działa to po zamknięciu apki (zabicie procesu w Androidzie) // //outState.PutString("nazwaPatrolu", Zarzadzanie.nazwaPatrolu); //outState.PutBoolean("czyGraTrwa", Zarzadzanie.czyGraTrwa); //Log.Debug(GetType().FullName, "Zarzadzanie/Akcje - Saving instance state"); // always call the base implementation! base.OnSaveInstanceState(outState); }
//Metoda wywołuje się w momencie tworzenia obiektu protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.nazwaiczas_); //Przypisz zmienne elementom interfejsu TimePicker timePicker = FindViewById <TimePicker>(Resource.Id.timePicker); var text = FindViewById <EditText>(Resource.Id.textInputEditText1); Button Start = FindViewById <Button>(Resource.Id.button1); //Ustaw zegarek na 24-godzinny timePicker.SetIs24HourView((Java.Lang.Boolean)true); //Zaczyna nową grę - reset wszystkiego Start.Click += (sender, e) => { if (text.Text.Length >= 1) { //Ustaw zmienne Zarzadzanie.reset(); Zarzadzanie.nazwaPatrolu = text.Text; Zarzadzanie.minutaStartowa = DateTime.Parse(timePicker.CurrentHour + ":" + timePicker.CurrentMinute); Zarzadzanie.czasRozpoczecia = DateTime.Now; Zarzadzanie.czyGraTrwa = true; //Zapisz grę Zarzadzanie.SaveGeme(); var intent = new Intent(this, typeof(Akcje)); StartActivity(intent); this.Finish(); } else { Toast.MakeText(this, "Podaj nazwę patrolu!", ToastLength.Long).Show(); } }; }
public void HandleResult(ZXing.Result rawResult) { //Wywal komunikacik co zeskanowało Toast.MakeText(qrakcja, "PK " + qrakcja.nrPunktu + " " + rawResult.ToString(), ToastLength.Long).Show(); String dodany = qrakcja.nrPunktu + "-" + rawResult.ToString(); //Toast.MakeText(qrakcja, dodany, ToastLength.Long).Show(); //Zmień kolor przycisku if (Zarzadzanie.kodyLampionow.Find(x => x.StartsWith(nrPunktu + "-")) == null) { Akcje.zmienKolor(nrPunktu, "green"); } else { Akcje.zmienKolor(nrPunktu, "yellow"); } //Dodaj kod do bazy i zapisz grę Zarzadzanie.kodyLampionow.Add(dodany); Zarzadzanie.SaveGeme(); qrakcja.Finish(); }
//Metoda wywoływana podczas tworzenia obiektu protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.poczatek_); //Sprawdź pozwolenia string[] PERMISSIONS = { "android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.CAMERA" }; var permission = ContextCompat.CheckSelfPermission(this, "android.permission.WRITE_EXTERNAL_STORAGE"); var permissionread = ContextCompat.CheckSelfPermission(this, "android.permission.READ_EXTERNAL_STORAGE"); var permissioncamera = ContextCompat.CheckSelfPermission(this, "android.permission.CAMERA"); if (permission != Permission.Granted || permissionread != Permission.Granted) { ActivityCompat.RequestPermissions(this, PERMISSIONS, 1); } if (permissioncamera != Permission.Granted) { ActivityCompat.RequestPermissions(this, PERMISSIONS, 2); } //Przypisz elementy interfejsu do zmiennych Button NowaGra = FindViewById <Button>(Resource.Id.button1); Button Wczytaj = FindViewById <Button>(Resource.Id.button2); //Przypisz przyciskom funkcje NowaGra.Click += (sender, e) => { if (permission != Permission.Granted || permissionread != Permission.Granted) { ActivityCompat.RequestPermissions(this, PERMISSIONS, 1); var intent = new Intent(this, typeof(Poczatek)); Toast.MakeText(this, "Czy na pewno zaakceptowałeś zgody?", ToastLength.Long).Show(); StartActivity(intent); this.Finish(); } else { if (permissioncamera != Permission.Granted) { ActivityCompat.RequestPermissions(this, PERMISSIONS, 2); var intent = new Intent(this, typeof(Poczatek)); Toast.MakeText(this, "Czy na pewno zaakceptowałeś zgody?", ToastLength.Long).Show(); StartActivity(intent); this.Finish(); } else { var intent = new Intent(this, typeof(NazwaIczas)); StartActivity(intent); this.Finish(); } } }; Wczytaj.Click += (sender, e) => { if (permission != Permission.Granted || permissionread != Permission.Granted) { ActivityCompat.RequestPermissions(this, PERMISSIONS, 1); var intent = new Intent(this, typeof(Poczatek)); Toast.MakeText(this, "Czy na pewno zaakceptowałeś zgody?", ToastLength.Long).Show(); StartActivity(intent); this.Finish(); } else { if (permissioncamera != Permission.Granted) { ActivityCompat.RequestPermissions(this, PERMISSIONS, 2); var intent = new Intent(this, typeof(Poczatek)); Toast.MakeText(this, "Czy na pewno zaakceptowałeś zgody?", ToastLength.Long).Show(); StartActivity(intent); this.Finish(); } else { var intent = new Intent(this, typeof(Akcje)); StartActivity(intent); this.Finish(); } } }; if (permission != Permission.Granted || permissionread != Permission.Granted) { ActivityCompat.RequestPermissions(this, PERMISSIONS, 1); } else { if (permissioncamera != Permission.Granted) { ActivityCompat.RequestPermissions(this, PERMISSIONS, 2); } else { Zarzadzanie.ReadGame(); if (Zarzadzanie.czyGraTrwa) { var intent = new Intent(this, typeof(Akcje)); StartActivity(intent); this.Finish(); } } } }
//Metoda wywołuje się w momencie tworzenia obiektu protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.akcje_); //Wczytaj dane Zarzadzanie.ReadGame(); //Przypisz elementy interfejsu do zmiennych roboczych pk[0] = FindViewById <Button>(Resource.Id.button1); pk[1] = FindViewById <Button>(Resource.Id.button2); pk[2] = FindViewById <Button>(Resource.Id.button3); pk[3] = FindViewById <Button>(Resource.Id.button4); pk[4] = FindViewById <Button>(Resource.Id.button5); pk[5] = FindViewById <Button>(Resource.Id.button6); pk[6] = FindViewById <Button>(Resource.Id.button7); pk[7] = FindViewById <Button>(Resource.Id.button8); pk[8] = FindViewById <Button>(Resource.Id.button9); pk[9] = FindViewById <Button>(Resource.Id.button10); pk[10] = FindViewById <Button>(Resource.Id.button11); pk[11] = FindViewById <Button>(Resource.Id.button12); pk[12] = FindViewById <Button>(Resource.Id.button13); pk[13] = FindViewById <Button>(Resource.Id.button14); pk[14] = FindViewById <Button>(Resource.Id.button15); zakoncz = FindViewById <Button>(Resource.Id.buttonZakoncz); empty = FindViewById <Button>(Resource.Id.buttonEmpty); TextView textGodz = FindViewById <TextView>(Resource.Id.textView1); TextView podsumowanie = FindViewById <TextView>(Resource.Id.podsumowanie); ImageView obrazek = FindViewById <ImageView>(Resource.Id.imageView1); //Ustaw nagłówek karty patrolu textGodz.Text = Zarzadzanie.nazwaPatrolu + "\nGodzina startu: " + Zarzadzanie.czasRozpoczecia.ToString(formatGodzina, provider) + " (" + Zarzadzanie.minutaStartowa.ToString(formatGodzina, provider) + ")"; //Ustaw Legendę na dole ekranu string zasady = "Legenda:\nzielony - zebrany Punkt Kontrolny\nżółty - poprawiony Punkt Kontrolny (10 punktów karnych za każdną poprawkę)"; zasady += "\n\nZasady:"; zasady += "\nprawidłowy Punkt Kontrolny - 0 punktów karnych"; zasady += "\nPunkt Stowarzyszony - 25 punktów karnych"; zasady += "\nbrak Punktu Kontrolnego - 90 punktów karnych"; zasady += "\nPunkt Mylny lub o innym numerze - 90+60 punktów karnych\n"; podsumowanie.Text = zasady; //Ustaw obrazek obrazek.SetImageResource(Resource.Drawable.keh_logo); obrazek.Visibility = Android.Views.ViewStates.Gone; //Dodanie funkcji do przycisków do skanerów kodów QR for (int i = 0; i < Zarzadzanie.liczbaPunktow; i++) { //string nr = (i + 1).ToString(); pk[i].Click += (sender, e) => { string nr = ((Button)sender).Text.Split(' ')[1]; wywolajQR(nr); }; } //Dodanie funkcji do przycisku Zakoncz gre/Powrot do menu zakoncz.Click += (sender, e) => { if (Zarzadzanie.czyGraTrwa) { //Okno dialogowe potwierdzające zakończenie gry Android.App.AlertDialog.Builder dialog = new Android.App.AlertDialog.Builder(this); Android.App.AlertDialog alert = dialog.Create(); alert.SetTitle("Uwaga!"); alert.SetMessage("Czy na pewno chcesz zakończyć grę?"); alert.SetButton("TAK", (c, ev) => { string zapisGry; //Policz i ustaw falgi zapisGry = Zarzadzanie.zakonczenie(); //Wyswietl wyniki wyswietlPodsumowanie(podsumowanie); //Zmien funkcjonalnosc przycisku zakoncz.Text = "Powrót do menu"; //Generuj i ustaw obrazek z kodem QR generujQR(zapisGry, obrazek); }); alert.SetButton2("ANULUJ", (c, ev) => { }); alert.Show(); } else { var intent = new Intent(this, typeof(Poczatek)); StartActivity(intent); this.Finish(); } }; //Pokoloruj kartę odpowiedzi empty.SetBackgroundColor(Color.White); Zarzadzanie.ustawKolory(); if (Zarzadzanie.czyGraTrwa == false) { //Wyswietl wyniki wyswietlPodsumowanie(podsumowanie); //Zmien funkcjonalnosc przycisku zakoncz.Text = "Powrót do menu"; //Generuj i ustaw obrazek z kodem QR generujQR(Zarzadzanie.ReadGame(), obrazek); } }