Cześć, jestem w trakcie pisania bardzo prostego systemu zarządzania moim złomem z poziomu androida przez TCP - mam stacjonarny komp, leżąc w nocy nie chce mi się ruszać zada żeby np. włączyć muzykę, zastopować film albo wyłączyć kompa. Póki co mam tylko serwer z dwiema prostymi komendami, tj. wyłącz komputer i zastopuj film na alekino. Apka siedzi w trayu, ikonka coś nie hula, ale tym się zajmę potem.
https://github.com/WizzieP/Pilot/tree/master/server
Używam Javy8, szczególnie zależy mi na ogarnięciu:
-
Użycia referencji do metod (w HashMapie),
-
Przy lambdzie w addActionListener chciałem zmieniać wartość zmiennej int
portNumber
, ale IDEA krzyczy, że zmienna musi być efektywnie finalna i zmieniła mi na finalną tablicę intów. Strasznie to dziwne, to znaczy, że coś robię źle. -
Wyciąganie argumentów z komendy, pewnie da się to zrobić jakoś lepiej (komenda zawsze wygląda tak:
COMMAND arg1 arg2 ...
):
String[] split = inputLine.split(" ");
String[] commandArgs = {};
if(split.length > 1)
commandArgs = Arrays.copyOfRange(split, 1, split.length-1);
- Komendy jako statyczne metody klasy Commands to chyba dobre rozwiązanie?
PS. Zmiana portu aktualnie nic nie robi, tym się zajmę później :)