Plan zajęć cz. 8 – Poprawki

Ten tydzień poświęciłem na poprawki w aplikacji. Nazbierało się trochę błędów, które trzeba naprawić. Pierwszy problem występuje podczas przejścia za bardzo wstecz na planie zajęć aplikacja się crashuje. Innym błędem jest możliwość rozpoczęcia procesu logowania kilkukrotnie.

Przewijanie planu zajęć

Podczas cofania się w planie zajęć dochodziło do zdarzenia, kiedy aplikacja przestawała działać. Błąd okazał się banalny, gdyż okazało się, że wartość przesunięcia przechodziła na liczby ujemne. Naprawienie tego błędu było bardzo proste, po prostu, jeżeli liczba ma zmienić się na ujemną to przerywam akację.

Problem z logowaniem

Po rozpoczęciu procesu logowania przycisk był cały czas aktywny przez co użytkownik mógł rozpocząć kilka operacji logowania. Dodałem nową zmienną sygnalizującą trwający proces logowania. Jeżeli jest aktywny przycisk jest wyłączany i użytkownik nie może nacisnąć ponownie na przycisk logowania.

Dodatkowo dodałem możliwość wyboru liczby wyświetlanych dni tygodnia na ekranie logowania.
Użytkownik przed zalogowaniem może zmienić domyślne ustawienie pięciu dni na siedem dni lub jeden dzień, odpowiednio według jego zapotrzebowania.

Nowy kontener IoC

Aby korzystać z udogodnień biblioteki .NET Standard której używam zarówno w aplikacji desktopowej jak i mobilnych musiałem skorzystać z innego kontenera jak Ninject. Wybór padł na kontener Autofac. Współpracuje zarówno z Xamarinem jak i WPF więc nie będzie problemów z przenoszalnością kodu pomiędzy aplikacjami. Zasada działania jest identyczna jak w przypadku Ninjecta tworzony jest kontener z którego później można wyłuskiwać obiekty.

Optymalizacja aktualności

Niektóre wiadomości pobrane ze stron były strasznie długie dlatego postanowiłem je ukrócić. Każda wiadomość dłuższa niż 50 znaków jest teraz ucinana dzięki czemu zachowana jest spójność wiadomości. I nie zdarzy się taka sytuacja, że jedna wiadomość będzie przesuwać się po całej długości dostępnego ekranu.

Kończąc

Ten tydzień spędziłem pracowicie naprawiając parę błędów. Przy okazji również postarałem się w dużej mierze wyczyścić i ujednolicić kod aplikacji. Niestety tego procesu nie można przeprowadzić tylko raz, od czasu do czasu trzeba się za to zabrać, aby kod wyglądał schludnie.

Cały kod aplikacji można zobaczyć na moim koncie github /kkolodziejczak/ZUTSchedule

Leave a Reply

Translate »