Shopping Advisor – nie koniec problemów:( #dajsiepoznac

Kiedy już udało mi się uratować zakładki o czym pisałam w poprzednim wpisie okazało się, że parę rzeczy trzeba było przerobić i niestety idzie to dość mozolnie. Przez to kompletnie straciłam nadzieję na to by aplikację udało się umieścić w Google Play w tym miesiącu – bardzo mi z tego powodu smutno. Na początku maja sytuacja przedstawiała się dość optymistycznie jednak, gdy zaczęłam pracę nad wizardem wszystko się nieco skomplikowało i niestety pokrzyżowało szyki.

Wizard również ma swoje problemy – dość powoli działa. Zapewne jednak będę musiała pewne rzeczy zoptymalizować, więc sporo pracy mnie czeka:) Pojawiło się też oczywiście parę błędów i moja tablica na Trello, o której pisałam tutaj zaczęła puchnąć. Nie mniej – nadal się uczę, ale też wiele rzeczy idzie mi już dużo sprawniej niż na początku.

Pracy niestety nie ułatwia mi też Android Studio, które muszę przyznać, na Windows działa okrutnie powoli w porównaniu z Linuxem. Co prawda zawiesiło mi komputer na amen tylko raz, ale samo zawiesza się dość rzadko – raz na 2-3 dni tak, że muszę zabijać proces. Ostatnio jednak często muszę czyścić pamięć urządzenia i ewentualne uruchamianie od zera emulatora trwa bardzo długo.

Z kolei po którejś aktualizacji SDK trzeba było doinstalować jakiś dodatkowy pakiet, bo aplikacja tajemniczo się nie budowała. No nic, mam świadomość, że brakuje mi obycia i znajomości różnych ułatwień pracy jakie zapewne wypracowali sobie Androidowcy:)

Shopping Advisor – odpoczynek się przydał #dajsiepoznac

Wspomniałam ostatnio o sporym problemie z zakładkami, które totalnie nie chciały działać tak jakbym sobie życzyła przez co pogrążyłam się w chaosie i zwątpieniu 😉 A tak poważnie to faktycznie przydał mi się wakacyjny odpoczynek, ponieważ po powrocie usiadłam do tego ze świeżą głową. Zrobiłam sobie na boku od zera aplikację z zakładkami korzystając z szablonu, którego dostarcza Android Studio i w ten sposób mogłam ogarnąć różnice jakie miałam i to czego mi brakowało. Tym samym zakładki w końcu zaczęły działać jak należy. Jednak po tak dużej zmianie z kolei pojawiły się problemy z górnym menu i zaznaczaniem elementów oraz odświeżaniem, ale ostatecznie i to udało się rozwiązać.

Obecnie zajmuję się dopracowaniem wizarda dla nowych użytkowników.

Shopping Advisor – krnąbrne zakładki #dajsiepoznac

Znalazłam wczoraj dość duży problem, który zauważyłam dopiero, gdy testowałam poprzednio opisanego wizarda dla nowych użytkowników. Mianowicie dzieją się jakieś dziwne rzeczy związane z zakładkami. Do adaptera wchodzą trzy – All, 7 Days, 30 Days, ale tylko na dwóch z nich (pierwszej i ostatniej) odpalają się metody onCreateView czy onActivityCreated. Konstruktory odpalają się na wszystkich trzech. W adapterze też są trzy.

Na dodatek, gdy wybieram drugą z zakładek tak naprawdę wywoływana jest…trzecia. Albo to już przemęczenie albo ekscytacja nadchodzącym urlopem, ale totalnie nie mogę tego ogarnąć i wątpię by udało mi się to w najbliższych dniach:( Chyba potrzebuję odpoczynku;) Nie pomogła też premiera nowej książki Remigiusza Mroza „Trawers”, która skutecznie w ostatnich dniach odwracała moją uwagę od wszystkiego innego.

Ale, żeby nie było, że jest tylko źle to z sukcesów z kolei udało mi się podpiąć logikę liczącą i zapisującą te prognozy, które pobieramy na podstawie danych od użytkownika w wizardzie:) Zatem cały czas do przodu, tylko troszkę wolniej:)

Shopping Advisor – Wizard #dajsiepoznac

Niedawno w jednym z komentarzy na blogu zaproponowano mi pomysł zrobienia pewnego „wizarda” by zademonstrować użytkownikowi działanie aplikacji i łatwiej go w nią wprowadzić. Początkowo pomysł nie wydał mi się dobry – idea miała polegać na zaproponowaniu użytkownikowi jakiejś założonej z góry grupy produktów na podstawie zainteresowań użytkownika.

Idea ta jednak na tyle utkwiła mi w głowie, że dość szybko przyszedł pomysł jak zrealizować taki przewodnik, tak by był bardziej zgodny z założeniami aplikacji. Nie chciałam z góry zakładać jakiejś grupy produktów jednakowej dla każdego użytkownika. Zależało mi na tym, by od początku aplikacja była jak najbardziej spersonalizowana względem tego kto jej używa.
I tak wymyśliłam coś takiego, by każdy użytkownik na starcie jeśli jeszcze nie ma żadnych produktów dodanych do bazy, musiał podać 5 dowolnych rzeczy, które kupił w ciagu ostatniego tygodnia i kolejne 5 – w ciągu ostatniego miesiąca (innych niż poprzednie 5). Pozwoli mi to, bardzo ale to bardzo zgrubnie, zaproponować mu pewne prognozy na produkty, które wprowadził w ten sposób. Tym samym użytkownik nie będzie miał pustego ekranu prognoz na początku. Z czasem używania prognozy będą się coraz lepiej dopasowywały.

Mimo, że ostatnio miałam zamiar poświęcić się już tylko doskonaleniu aplikacji i dopracowaniu jej, by mogła zostać wrzucona do Google Play, zdecydowałam się zrealizować opisaną funkcjonalność.

Póki co mam zatem dwa wstępne ekrany – bardzo podobne – dla produktów z 7 dni:

7days - Wizard

Dla produktów z 30 dni:

30days - Wizard

Wizualnie jeszcze nie do końca mi się to podoba, ale myślę, że spełni swoje zadanie. Do zrobienia zostało jeszcze obsłużenie tych dwóch formularzy, ponieważ na razie udało mi się zrobić tylko część interfejsu użytkownika.

Nie mam zamiaru zmuszać użytkownika, by ten formularz skrupulatnie wypełnił, ale jeśli tego nie zrobi, aplikacja będzie go do tego zachęcać przynajmniej do momentu dodania czegoś do bazy danych.

Shopping Advisor – stara funkcjonalność w nowej odsłonie #dajsiepoznac

W ostatnim czasie pojawił się pomysł by nie zmuszać użytkownika do ręcznego wpisywania produktów, które mu się skończyły a które już ma na liście. Zatem teraz produkty, które użytkownik ma już widoczne na ekranie prognozy będzie można oznaczyć jako skończone, podobnie jak kupione czy zarchiwizowane.

Jak widać na zrzucie ekranu pojawił się przycisk smutnej buźki – jest to właśnie przycisk, który pozwala nam na oznaczenie uprzednio wybranych produktów jako skończonych.

markasempty

Jego naciśnięcie powoduje, że generowany jest nowy wpis w historii a tym samym nowa prognoza.

Dla przypomnienia przycisk koszyka – to przycisk za pomocą którego oznaczamy produkty jako kupione by nie wyświetlały nam się już dłużej na liście do kupienia w tym tygodniu itp Natomiast przycisk archiwizacji służy do usunięcia produktu z widoku, gdy już nie potrzebujemy kupować tego typu rzeczy. Produkty oznaczone jako zarchiwizowane nie są jednak usuwane całkowicie. Aplikacja nadal pamięta historię oraz to, jak często użytkownik kupował te produkty.