Cześć. Mam pytanie, czy można w jakiś sposób wywołać metodę dotyku ekranu urządzenia ?
To znaczy metoda onTouchEvent rejestruje takie zdarzenia, a gdybym chciała je wymusić i tym samym np. wywołać odpowiednie współrzędne pod którymi byłby komponent typu Button który z kolei wywołałby np. wiadomość Toast.
Możecie mnie naprowadzić lub dać jakąś wskazówkę ? Z góry dziękuje.
Button ma metodę
performClick()
To mi wygląda na "problem XY" dlatego radzę opisać pierwotny problem, zamiast pytać jak poprawić twój pomysł na rozwiązanie problemu.
Piszesz jakieś testy? Jeśli nie to na 95% twój pomysł na rozwiązanie jest zły.
Mój problem jest taki że chciałam zapisać tor ruchu palcem po ekranie. Następnie ten tor odtworzyć. Więc chciałam zapisywać współrzędne dotyku oraz czas w którym dana współrzędna została zarejestrowana. I teraz chcę "sztucznie" wymusić ten dotyk, co spowoduje np. wywołanie przycisku itp.
Zapis pojedynczego palca mam - zapisuję czas zdarzenia, akcję zdarzenia(action up,move,down..),x oraz y.
Przy czym nie mam pomysłu jak to elegancko powinno się zrobić (odtworzenie).
to zamiast zapisywać ruch i inne bzdury , to zapisuj po prostu akcję klika czy to co cię interesuje. I później sobie je odtwarzaj w określony sposób :)
nie interesuje mnie akcja wciśnięcia np. przycisku Button, tylko tor jaki wykreślił użytkownik, więc potrzebuje te "bzdury",gdyż nie chodzi mi o odtworzenie wciśnięcia jakiegoś komponentu tylko odtworzenie toru. Czyli np. narysuje sobie na calym ekranie te punkty, i np. przy jeżeli punkt Point(x,y) będzie w 1 ćwiartce ekranu to wywołać ma się Toast "jesteś w I ćwiartce ekranu" itp.
No ale z tego cały czas nie wynika po co chcesz później wywoływać sztuczne dotknięcia ekranu....
masz coś takiego
https://developer.android.com/reference/android/view/View.html#dispatchTouchEvent(android.view.MotionEvent)
Czyli np. narysuje sobie na calym ekranie te punkty, i np. przy jeżeli punkt Point(x,y) będzie w 1 ćwiartce ekranu to wywołać ma się Toast "jesteś w I ćwiartce ekranu" itp.
Dasz radę napisać to po polsku?
Nie mam konkretnego celu aplikacji. Chodzi mi o zapis trajektorii przebytej przez użytkownika, gdzie potem mogłabym wczytać i-tą sekwencję wciśnięcia i jej wyrysowanie na ekranie. To wszystko.
To nie lepiej zapisać po prostu co user robi i później wywołać odpowiednie metody w odpowiednim czasie niż odtwarzać klikanie na ekran ? a co zrobisz jak ktoś obróci ekran i będziesz miała landscape zamiast portertu ?
Edit: przez te Twoje edycje postów odpowiedzi wyglądają kretyńsko. Teoretycznie mogłabyś napisać serwis który wypluwa takie zdarzenia na ekran i wywoluje je w ciągu, ale raczej napisanie takiego bota przekracza Twoje umiejętności, a i sensowność takiego czegoś jest mocno wątpliwa ( no bo jak se napiszesz na coś bota, a później zmienisz położenie ikonki innej aplikacji w menu to Twój bot jest do śmieci)
Nie każe ci analizować sensowność mojego problemu, jedyne co to prosiłam o poradę jak konkretnie wymusza się dotknięcie ekranu. No bo jeżeli użytkownik narysuje konkretny tor ruchu w ciągu to ja chcę taki ciąg potem odtworzyć. Po to jest chyba forum, żeby móc komuś pomóc lub doradzić, a nie krytykować.
Mimo wszystko dużo mi pomogliście.
- Chciałbym się dowiedzieć jak kosić trawę maszynką do golenia.
- Czemu chcesz golić trawnik? Co chcesz osiągnąć? Może lepiej będzie użyć innego narzędzia?
- Nikt ci nie każe analizować sensowności mojego problemu, tylko powiedzcie jak kosić trawę maszynką do golenia.
A tam za szybko się irytujecie. Nie pierwszy to i nie ostatni newbie, który ma problem z zadaniem porządnego pytania na forum i w zrozumieniu, że chce "golić trawnik" a powinien poszukać kosiarki albo zmienić trawnik na zarost (a na dostatek zaczyna od pytania jak szybko wymieniać ostrze w golarce, bo się szybko tępi).
Przyszła młoda dziewczyna po pomoc na forum (sądząc po nicku lat 17) no i bardzo dobrze, mało jest ambitnych ludzi w takim wieku, a estrogenu w tej branży też brakuje (wszystkie programistki jakie spotkałem do tej pory (3), byłe lepsze od przeciętnego faceta ).
Pomogliśmy jak to możliwe, a to jak przyswoi te rady, to już zależy od niej.