Cześć,
Dziś chciałem przedstawić Wam krótkie podsumowanie miesiąca kwiecień.
Czas leci nieubłaganie, stąd też staram się kończyć swój projekt wieloplatformowej aplikacji mobilnej.

Ostatnio wspominałem o chęci wdrożenia opcji „podpowiadania punktów zainteresowań”.
Dzięki wskazówkom udzielonym przez deweloperów Xamarin, udało mi się znaleźć kontrolkę AutoCompleteView, umożliwiającą tego typu rozwiązanie. Stało się to dzięki bibliotece Syncfusion (https://www.syncfusion.com). Po założeniu konta można uzyskać dostęp do korzystania z różnego rodzaju kontrolek, nie tylko wykorzystywanych przy tworzeniu aplikacji mobilnych, ale również desktopowych i webowych 😉

W moim przypadku była to wspomniana już wcześniej kontrolka – AutoCompleteView.

Jak z tego skorzystałem?

Najpierw skorzystałem z instrukcji konfiguracji, do której dołączam link – https://help.syncfusion.com/extension/syncfusion-nuget-packages/nuget-install-and-configuration
Znajduje się tam bardzo czytelny opis wraz z screenami.

Następnie zainstalowałem paczkę NuGet, zgodnie z instrukcją zawartą w dokumentacji (https://help.syncfusion.com/xamarin/sfautocomplete/getting-started).

Syncfusion

 

Dzięki temu uzyskałem dostęp do skorzystania z kontrolki.

 

Kontrolka

Proszę nie zwracać uwagi na znajdujące się tzw. „behaviory”. O tym więcej opowiem w kolejnym poście, na razie chciałem zwrócić uwagę na samą kontrolkę.
Możemy tu ustawiać kolor tekstu, wielkość czcionki, jednak najważniejszą funkcję pełni tu komponent zwany AutoCompleteSource, ponieważ wskazuje na źródło – listę zawierającą obiekty zwracane w momencie podawania miejsca docelowego przez użytkownika.

 

Najpierw zadeklarowałem propercję, która będzie zwracać wyszukiwane punkty.

Kolekcja

Jak widać jest listą stringów, do której została przypisana kolekcja przechowująca odpowiednie nazwy miejsc.

GetPredictions
Istnieje również możliwość ustawienia wartości MinimumPrefixCharacters. To nic innego, jak ilość znaków, po których ukaże się lista wyszukiwanych punktów.

 

Ostateczny rezultat wygląda następująco:

AutoCompleteView

 

W kolejnym wpisie opowiem Wam, dlaczego w XAML’u pojawiły się behaviory. Mogę jedynie zdradzić, że wiąże się to z zasadami wzorca MVVM.

Muszę również uporać się z błędem po stronie platformy iOS. Nie mam pojęcia czemu wyskakuje taki o to błąd w momencie budowania aplikacji :/

Pasted image at 2017_04_26 12_28 PM.png

 

Stało się to, gdy utworzyłem instancję

public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
    new SfAutoCompleteRenderer ();
}

zgodnie z opisem w dokumentacji. Gdyby ktoś potrafił temu zaradzić, bardzo proszę o kontakt 😉

 

Co dalej…

Otóż, zamierzam stworzyć serwis lokalnej bazy danych oraz wdrożyć wywoływanie alarmu za pomocą dźwięku. Po zrealizowaniu tego, projekt na potrzeby zaliczenia przedmiotu oraz konkursu DSP będę uważał za zamknięty. To są główne cele, które na początku sobie założyłem do fazy „akceptacyjnej”.
W przyszłości mam na uwadze rozwijać aplikację o kolejne funkcjonalności.

 

Zapraszam wszystkich do wglądu w kod źródłowy oraz dalszego śledzenia mojego bloga 😉

Pozdrawiam,

Cześć 🙂