Plan zajęć cz. 6 – Pobieranie aktualności

W tym tygodniu napisałem dwa serwisy pozwalające pobierać informacje o aktualnościach ze stron Internetowych. Dodatkowo poprawiłem logowanie w aplikacji mobilnej. Wykorzystuje ono teraz SecureString, dzięki czemu można wykorzystać ten sam ViewModel.

Pobieranie

Zadanie jest proste. Trzeba pobrać zawartość strony i wytypować rekordy z informacjami o aktualnościach. W tym celu posłużę się wyrażeniami regularnymi. Każda strona posiada inny układ i inaczej wygląda w kodzie źródłowym strony. Ze względu na to stworzyłem interfejs INewsService, który posiada tylko jedną metodę GetNews. Każda strona z informacjami będzie posiadała odpowiednią klasę implementującą logikę pobierania informacji odpowiadającej tej stronie. Dzięki zastosowanemu interfejsowi można później przechowywać wszystkie klasy w jednej kolekcji.

Schemat interpretowania strony jest prosty. Pierwszą czynnością jest pobranie informacji ze strony Internetowej. W tym przypadku posługuję się poleceniem GET, które zwraca mi zawartość strony. Następnie skonstruowałem wyrażenie regularne pobierające interesujące mnie informacji o wiadomości, tytuł, adres internetowy do wiadomości oraz datę dodania. Wszystkie informacje później posłużą do stworzenia kolekcji składającej się z klas NewsRecordViewModel przedstawiających wiadomości wewnątrz aplikacji. Poniżej przykładowy kod klasy dla strony głównej strony uczelni.