Shopping Advisor – Nowe funkcjonalności #dajsiepoznać

Udało mi się w ostatnim czasie dodać kilka nowych funkcjonalności do aplikacji Shopping Advisor. A zatem co nowego udało się zrobić:

  • włączyć autouzupełnianie w formularzu dodawania nowego zakupu tak, aby użytkownik wybierał już istniejący z listy – wówczas tylko dodajemy nowy rekord z nową datą do tabeli z historią zakupów
  • przenieść poniewierające się gdzieniegdzie luźne napisy na przyciskach czy inne tytuły do pliku strings.xml, gdzie ich miejsce
  • opanować sprawę „Floating Action Button” czyli tego fajnego przycisku, który widać w aplikacjach androidowych projektowanych wg najnowszych standardów – przycisk ten w moim przypadku umożliwia przeniesienie do dodawania nowych zakupów z każdego miejsca w aplikacji, ponieważ pojawia się na dole na każdym ekranie.
    Poniżej screenshot z ekranu z historią (w tym momencie pustą)fab
    Teraz dlaczego sprawę FAB trzeba było opanować? Otóż kiedy początkowo dodawałam jakiekolwiek nowe Activity do aplikacji automatycznie posiadało ono w swoim layoucie ten przycisk, ale jednocześnie zawsze pojawiał się błąd, który mówił:

    The following classes could not be instantiated:
    - android.support.design.widget.FloatingActionButton

    Początkowo nie chciało mi się tym zajmować, więc po prostu posuwałam tymczasowo te przyciski;) Ale przyszedł czas, by wreszcie się tym zająć. Problem okazał się prosty do rozwiązania, oczywiście z pomocą internetu. Dokładniej pomógł mi ten oto wątek: Stackoverflow. Zmieniłam w gradle.config linijkę:

    compile 'com.android.support:design:23.2.0'
    

    na

    compile 'com.android.support:design:23.1.0'
    

    a także linijkę

    compile 'com.android.support:appcompat-v7:23.2.0'
    

    na

    compile 'com.android.support:appcompat-v7:23.1.0'
    

    Do tego Invalidate Caches/Restart no i oczywiście Rebuild. Możliwe, że Invalidate nie był potrzebny – zrobiłam na wszelki wypadek:) Teraz działa pięknie.