I. Opis zlecenia:
Przedmiotem zlecenia jest wykonanie odtwarzacza MP3 dla systemu Android, który będzie niemalże wierną kopią programu \"Simple Music Player Free\", z niewielkimi zmianami (szczegółowo opisanymi):
[login to view URL]
Proszę zainstalować sobie program lub szczegółowo obejrzeć zrzuty ekranu, bo cały opis zlecenia będzie oparty o jego funkcjonalność i wygląd.
Technologia wykonania (natywna Java / PhoneGap) jest nieistotna, pod warunkiem, że odtwarzacz będzie usługą, która będzie mogła działać w tle, po wyjściu z programu do ekranu głównego (co wyklucza PhoneGap Build, ale dopuszcza PhoneGap instalowalny lokalnie). To jest fundament i bez tego nie zaakceptuję zlecenia pod żadnymi warunkami.
Nie mam nic przeciwko wykorzystaniu własnych lub dostępnych w Internecie źródeł istniejących odtwarzaczy MP3 (kilka linków nawet podaję), pod warunkiem, że funkcjonalność i wygląd programu będą w 100% zgodne z opisem zlecenia.
Dla osób chcących wykonać taką aplikację w lokalnym PhoneGap, tu link do przykładowego rozwiązania:
[login to view URL]
Aplikacja jest wykonywana tylko dla mnie, nie będzie publikowana w markecie Google Play, więc nie ma potrzeby bawić się w cuda-wianki typu tytuł, domena, czy zgodność kodu z jakimiś tam standardami, ważne żeby funkcjonowało tak, jak tego oczekuję.
Oto źródła i strony, jakie znalazłem, a mogą być przydatne w projekcie:
[login to view URL]
[login to view URL]
https://android.googlesource.com/platform/packages/apps/Music/+/master
[login to view URL]
[login to view URL]
[login to view URL]
[login to view URL]
II. Główne różnice w stosunku do \"Simple Music Player Free\":
a) lista folderów z MP3 budowana ręcznie (użytkownik sam dodaje i usuwa foldery), bez obsługi playlist systemowych,
b) zapamiętywanie aktualnej pozycji (plik w folderze i czas w pliku) dla KAŻDEGO folderu, nie tylko dla aktualnie wybranego (jak w \"Simple Music Player Free\"), i odczytywanie tego (ustawianie odtwarzacza na właściwy plik i czas w pliku) przy każdej zmianie folderu.
III. Szczegółowy opis programu:
Aplikacja ma tylko jeden ekran (dwa: jeśli wybór folderu liczyć jako osobny ekran, a nie dialog systemowy).
Po uruchomieniu, wygląd identyczny jak w \"Simple Music Player Free\" (bez reklam). Idąc od góry ekranu:
a) lista folderów:
- ikonka stała (bez wyciągania okładki), taka jak w \"Simple Music Player Free\" lub dowolna,
- teksty obok ikonki w jednym z dwóch wariantów:
* pola ALBUM i AUTOR wyciągnięte z ID3Tag z PIERWSZEGO pliku w folderze,
* lub nazwa folderu i ilość plików w nim, odczytane z systemu plików, bez ruszania ID3Tag.
- long-tap na dowolnym folderze w liście wyświetla menu z opcjami:
* \"Dodaj nowy folder\" + dialog wyboru,
* \"Usuń wybrany folder\" (oczywiście nie, jeśli long-tap na pustej liście) + dialog potwierdzenia usunięcia.
- long-tap w pustym miejscu listy wyświetla od razu dialog dodawania folderu (ewentualnie można gdzieś w listę wkomponować mały klaiwsz \"+\").
- zwykły tap na wybranym folderze:
* zapamiętuje pozycje (plik w folderze i czas w pliku) dla obecnego folderu,
* odczytuje i ustawia pozycję (j.w.) dla tapniętego folderu, lub pierwszy plik i czas 00:00, jeśli brak danych (pierwsze otwarcie danego folderu),
b) pole informacji o aktualnie odtwarzanym pliku -- drobne zmiany w stosunku do \"Simple Music Player Free\":
- nazwa aktualnie odtwarzanego pliku, bez zmian, na sama czcionka, pozycja itp.,
- zamiast autora (lewy róg pod plikiem) informacja: \"Plik nr X z Y\",
- w prawym rogu pod plikiem (teraz puste) czas: \"03:57 / 09:11\".
c) slider czasu / pozycji w pliku, taki sam, z tą różnicą, że przewijanie aktualizuje pole czas (\"03:57 / 09:11\").
d) pasek klawiszy identyczny:
- \"poprzedni\" / \"następny\" plik zmienia plik w aktualnym folderze, aktualizując pole informacja (\"Plik nr X z Y\"),
- jeśli przy klikaniu \"poprzedni\" / \"następny\" dojdzie do początku lub końca folderu, staje odtwarzanie, NIE przechodzi automatycznie do kolejnego / poprzedniego folderu,
- \"play\" / \"pause\", wiadomo, odtwarza lub zatrzymuje,
- jeśli w trakcie odtwarzania dojdzie do końca pliku --> btnNextFile.onClick.
e) aplikacja:
- typu service, z możliwością działania w tle, ale:
* jeśli aktywna (muzyka gra; ifPlaying == TRUE) i użytkownik opuści program, to przechodzi do tła (gra nadal),
* jeśli nie aktywna (cisza; ifPlaying == FALSE), zamyka aplikację permanentnie (zwolnienie zasobów),
- żadnych cudów-wianków z paskiem powiadomień, itp., nic ponadto, co oferuje \"Simple Music Player Free\".
f) funkcje i funkcjonalności w \"Simple Music Player Free\", których w tej apce ma NIE BYĆ:
- bez reklam,
- bez trybu landscape,
- bez obsługi menu systemowego (menu podręczne po long-tap na liście plików -- jak opisano wyżej),
- bez konfiguracji, ani innych dodatkowych ekranów,
- bez wykorzystywania okładek albumów -- tylko domyślna ikonka.
Uwaga! Jestem programistą (choć nie Javy / platform mobilnych) z dużym doświadczeniem. Jestem osobą elastyczną, ale wciskanie kitu wychwycę natychmiast. Osoby szukające jelenia proszone są o nie branie udziału w licytacji!
Uwaga! Na projekt przeznaczony jest z góry określony budżet, więc rezerwuję sobie możliwość niewybrania żadnej oferty, w przypadku zbyt wysokich proponowanych kwot.