DayView lib, cel projektu – DSP#02

Końcówka pierwszego (dla mnie) tygodnia konkursu, a ja nie napisałem jeszcze co będę robił 😉 Najwyższy czas, żeby to zmienić, chociaż z góry lojalnie informuję, że ten post będzie króciutki. Założenia nie są imponujące, ponieważ jest to malutki projekcik, a celem uczestnictwa w konkursie jest przede wszystkim rozwój bloga. Dlatego chcę w każdy poniedziałek rano publikować jakiś fajny tekst „około IT”, a około czwartku popołudniem post związany z projektem. Taki jest plan, który jak widać już pierwszego tygodnia nie wypalił (dzisiaj sobota). W tym roku podchodzę do konkursu inaczej i 80% postów mam już zaplanowane. Mogę powiedzieć tyle, że to ciekawe tematy, dlatego zachęcam do śledzenia.

Co jest celem projektu

Jak zapewne można domyślić się po nazwie, napisanie biblioteki wyświetlającej konkretny dzień. Coś w stylu kartki z kalendarza, poniżej koncept stworzony w paincie (finalna wersja będzie oczywiście ładniejsza).

DayView lib

Prawda, że skomplikowane? 😉 Cóż, kilka rzeczy które chcę osiągnąć w tym projekcie:

  • użycie Kotlina
  • material design
  • miły dla oka design
  • dobre testy
  • continous – co się da
  • prawdziwa dokumentacja (opis całego API, etc)
  • prawdziwy open-source (z ładnym, pokazującym działanie biblioteki na gifach plikiem README)
  • odrobina reklamy, chcę, żeby inni również z niej skorzystali

Ale, dlaczego?

Cóż, potrzebowałem kiedyś takiej biblioteki, która na połowie ekranu np wyświetlała by konkretny dzisiejszy dzień, a poniżej tego mógłbym mieć cokolwiek. Przeszukałem internet i nie było.. Więc teraz już będzie, i będę bardzo szczęśliwy, jeśli przyda się nie tylko mi 😉

API

Jak nie trudno się domyślić, tutaj również nie będzie szaleństw. Przewiduję takie metody:

  • setDate(Date date);
  • setBarColor(Color color);
  • setBarTextColor(Color color);
  • setCardColor(Color color);
  • setCardTextColor(Color color);

Dodatkowo mam w planach jakąś animację podczas pojawiania się, albo zmiany daty, zobaczymy.

To jest tak właściwie wszystko, jeśli chodzi o założenia. Nie są one imponujące, ale o tym ostrzegałem już we wstępie. Jest to projekt wyjęty z „szufladeczki”, o której już pisałem i pewnie jeszcze nie raz napiszę.

  • Po przeczytaniu wpadłem na pomysł, żeby zintegrować taką kartkę z popularnymi komunikatorami (Messenger, Allo etc.). Kiedy ktoś proponowałby nam datę jakiegoś spotkania lub wydarzenia to automatycznie wyświetlałaby się w komunikatorze ta kartka, pokazująca jak napięty mamy wtedy dzień. Następnie decydujemy, czy dodać do planu dnia kolejne zadanie, czy jednak poszukać innego terminu. Byłoby mega, ale to jednak dużo więcej pracy. W każdym bądź razie w tej kartce drzemie niezły potencjał 😀

    • migellal

      Noo właśnie, to będzie biblioteka, jeśli napiszesz taki parser, bez problemu będziesz mógł jej użyć 😉 ja osobiście miałem aplikację z listą zadań na dziś i do góry drukuje nazwę powiększonym tekstem. Ta biblioteka będzie idealnie tam pasowała 😉