Du bist nicht angemeldet.

  • »JustinCool« ist der Autor dieses Themas

Beiträge: 4

Level: 13 [?]

Erfahrungspunkte: 3 678

Nächstes Level: 4 033

  • Private Nachricht senden

1

25.02.2012, 22:02

Erkennen eines Gestures auf Android Tablet von meinem Laptop

Hallo,
ich hab eine Frage bezüglich der Gesture Erkennung. Wie kann ich auf meinem Android Tablet zoomen und wird dieses Zoom Gesture zu meinem laptop via Wifi gesendet und interpretiert, und Image X auf mein Laptop wird simultan gezoomt. Ich meine, Gesture bzw. Finger Koordinaten werden von meinem Laptop erkannt.
danke :)
Grüße
Justin

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »JustinCool« (25.02.2012, 22:36)


Kogoro

Super Moderator

  • »Kogoro« ist männlich

Beiträge: 519

Modell: Samsung Galaxy S2, Note 10.1 WIFI

Android: 4.2.2, 4.1.2

Wohnort: Niedersachsen

Beruf: Student

Level: 35 [?]

Erfahrungspunkte: 706 118

Nächstes Level: 824 290

Danksagungen: 554

  • Private Nachricht senden

2

25.02.2012, 23:10

Hi,
du brauchst ein onTouch-Event, welches das Zoomen erkennt und dann per Verbindung z.b. tcp den Befehl weiterleitet. Es gibt auch eine Gestenerkennung schon als Klasse fertig. Hab damit allerdings keine Erfahrung inwieweit die läuft ;)
MfG,
Christopher

Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke.

Ich bitte von Anfragen per PN abzusehen!

  • »JustinCool« ist der Autor dieses Themas

Beiträge: 4

Level: 13 [?]

Erfahrungspunkte: 3 678

Nächstes Level: 4 033

  • Private Nachricht senden

3

25.02.2012, 23:32

Hi,
du brauchst ein onTouch-Event, welches das Zoomen erkennt und dann per Verbindung z.b. tcp den Befehl weiterleitet. Es gibt auch eine Gestenerkennung schon als Klasse fertig. Hab damit allerdings keine Erfahrung inwieweit die läuft ;)
Danke erst mal für die Antwort. Du meinst, kann man einfach den Befehl "Zoom" als String? senden und es gibt vordefinierte Klasse, die diesen Befehl beim Laptop interpretieren kann ? Z.B. if(Gesture == "Zoom_in"), then do zoom_in . Oder sollte man Zoom Gesture als eine Menge von Punkt-Koordinaten weiterleiten und wird an anderer Seite diese Punkte als Zoom-Gesture interpretiert?
Die Vorgehensweise ist wichtig und kann man damit implementieren. Ich hab leider keine richtige Tutorial gefunden :(.
PS: Ich bin ganz neu bei Android-Anwendung und sorry wenn ich doofe Frage stelle :)

Anzeige

killphil75

DroiDeka

  • »killphil75« ist männlich

Beiträge: 529

Modell: Samsung Galaxy S3, Lenovo A1, Iconia A200 , Nexus 7 , LG8.3, Samsung Galaxy

Android: 2.3.3, 4.1.2, 4.4

Beruf: Cutter/Postproduktion

Level: 33 [?]

Erfahrungspunkte: 522 971

Nächstes Level: 555 345

Danksagungen: 11

  • Private Nachricht senden

4

25.02.2012, 23:50

Also deine Fragstellung ist relativ unverständlich vielleicht klärst du uns auf was du machen willst.

In der Computertechnik ist es meist üblich, wenn man einen Sender und einen Empfänger hat, von einem Client-Server System zu sprechen.

In deinem Falle müsste also auf deinem Laptop ein Server laufen (selbst programmiert) welcher Befehle deines Clients (Tablet) entgegen nimmt und interpretiert / ausführt.
Auf deinem Clienten fasst du nun alle Dinge ab die nötig sind, Gestures, Klicks, whatever und sendest diese an deinen Server.
Am besten per Socketverbindung und http Request. Dein Server wartet auf der Gegenseite und lauscht die ganze Zeit auf einem Socket was so für Befehler rein kommen und führt diese dann aus.

  • »JustinCool« ist der Autor dieses Themas

Beiträge: 4

Level: 13 [?]

Erfahrungspunkte: 3 678

Nächstes Level: 4 033

  • Private Nachricht senden

5

26.02.2012, 00:14

Also deine Fragstellung ist relativ unverständlich vielleicht klärst du uns auf was du machen willst.

In der Computertechnik ist es meist üblich, wenn man einen Sender und einen Empfänger hat, von einem Client-Server System zu sprechen.

In deinem Falle müsste also auf deinem Laptop ein Server laufen (selbst programmiert) welcher Befehle deines Clients (Tablet) entgegen nimmt und interpretiert / ausführt.
Auf deinem Clienten fasst du nun alle Dinge ab die nötig sind, Gestures, Klicks, whatever und sendest diese an deinen Server.
Am besten per Socketverbindung und http Request. Dein Server wartet auf der Gegenseite und lauscht die ganze Zeit auf einem Socket was so für Befehler rein kommen und führt diese dann aus.
Danke Killphil. Stell dir vor, wir haben zwei Geräte. Android Tablet und Laptop. Ich implementiere eine Applikation auf Tablet (Gestenerkennung) und auf dem Laptop implementiere ich eine Applikation, die einfach das Bild X angezeigt wird.
Ich interagiere erst mit mienem Tablet with Zoom-In Gesture und meine App. auf Tablet erkennt mein Zoom-In Gesture. Erste Frage: wie wird überhaupt diese Gesture an Laptop gesendet? als String, oder eine Menge von Punktkoordinaten?
Dann auf dem Laptop wird diesen Zoom-Befehl irgendwie interpretiert und wird Bild X gezoomt. D.h. Laptop lauscht Gegenseite auf ein Gesture von Tablet, und sobald das kommt, tut etwas. Die Frage, gibt es in der Serverseite vordefinierte Touchhandler-Klasse, die Zoom-In Gesture interpretiert oder sollt ich getouchte Punkte selber interpretieren und Zoom-In Gesture bilden?
Ich hoffe, dass mein Problem besser ausgedrückt wurde.
MfG

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »JustinCool« (26.02.2012, 00:20)


killphil75

DroiDeka

  • »killphil75« ist männlich

Beiträge: 529

Modell: Samsung Galaxy S3, Lenovo A1, Iconia A200 , Nexus 7 , LG8.3, Samsung Galaxy

Android: 2.3.3, 4.1.2, 4.4

Beruf: Cutter/Postproduktion

Level: 33 [?]

Erfahrungspunkte: 522 971

Nächstes Level: 555 345

Danksagungen: 11

  • Private Nachricht senden

6

26.02.2012, 00:35

Zitat

Ich interagiere erst mit mienem Tablet with Zoom-In Gesture und meine
App. auf Tablet erkennt mein Zoom-In Gesture. Erste Frage: wie wird
überhaupt
diese Gesture an Laptop gesendet? als String, oder eine Menge
von Punktkoordinaten?
Gar nicht !!!

Wie gesagt Client-Server Prinzip, es gibt jetzt kein Standardprotokoll, was für deinen Anwendungsfall vorgesehen ist, d.h. du musst dich um alles selbst kümmern.

Server -> läuft auf Laptop -> horcht an einem Port auf Befehle -> wenn Befehl kommt wird Bilddarstellung geändert -> sendet Erfolgsmeldung zurück ans Tablet

Client -> Tablet -> Netzwerkverbindung mit Server aufbauen -> Befehle versenden bei Gestureeingabe -> Rückgabewert evtnl auswerten (maximale Zoomstufe, Erfolgsmeldung ect)


Android -- Tablet -> erkennt die Gesten -> onTouchEvent (Viewklasse zb) -> MotionEvent.ACTION_DOWN bzw. gibt es beim Android SDK ein Tool womit eigene Gesten aufgezeichnet werden können.

http://developer.android.com/resources/a…s/gestures.html

Sobald eine Geste erkannt wird, musst du deinem Server (Laptop mit Bildanzeige) sagen was passieren soll. Wie du das letztendlich löst, ist ganz und gar Dir überlassen. Das Gesture ist ja nur für das Tablet interessant, da es auf diesem erkannt wird.
Was mit welchem Gesture ausgelöst werden soll und wie musst du ja auch selber programmieren.

Im Grunde wirst du Dir sicherlich einen eigenen Befehlsdialog ausdenken müssen.
Du kannst zB Strings per HTTP Request verschicken, "ZOOMIN" "ZOOMOUT" "ENDE" , was du gerne möchtest und auf der Server Seite
Laptop musst du halt (wieder selber) diese Befehler auswerten und dann mit deiner Bilddarstellung in Einklang bringen.




PS: eventl gibt es ja schon ähnliche Projekte im Netz

das hab ich nur mal dazu gefunden, geht auch um visualisierung der Gerätelage (auch client server)

http://code.google.com/p/gesturedroid/

Anzeigen
  • »JustinCool« ist der Autor dieses Themas

Beiträge: 4

Level: 13 [?]

Erfahrungspunkte: 3 678

Nächstes Level: 4 033

  • Private Nachricht senden

7

26.02.2012, 01:23

Zitat

Ich interagiere erst mit mienem Tablet with Zoom-In Gesture und meine
App. auf Tablet erkennt mein Zoom-In Gesture. Erste Frage: wie wird
überhaupt
diese Gesture an Laptop gesendet? als String, oder eine Menge
von Punktkoordinaten?
Gar nicht !!!

Wie gesagt Client-Server Prinzip, es gibt jetzt kein Standardprotokoll, was für deinen Anwendungsfall vorgesehen ist, d.h. du musst dich um alles selbst kümmern.

Server -> läuft auf Laptop -> horcht an einem Port auf Befehle -> wenn Befehl kommt wird Bilddarstellung geändert -> sendet Erfolgsmeldung zurück ans Tablet

Client -> Tablet -> Netzwerkverbindung mit Server aufbauen -> Befehle versenden bei Gestureeingabe -> Rückgabewert evtnl auswerten (maximale Zoomstufe, Erfolgsmeldung ect)


Android -- Tablet -> erkennt die Gesten -> onTouchEvent (Viewklasse zb) -> MotionEvent.ACTION_DOWN bzw. gibt es beim Android SDK ein Tool womit eigene Gesten aufgezeichnet werden können.

http://developer.android.com/resources/a…s/gestures.html

Sobald eine Geste erkannt wird, musst du deinem Server (Laptop mit Bildanzeige) sagen was passieren soll. Wie du das letztendlich löst, ist ganz und gar Dir überlassen. Das Gesture ist ja nur für das Tablet interessant, da es auf diesem erkannt wird.
Was mit welchem Gesture ausgelöst werden soll und wie musst du ja auch selber programmieren.

Im Grunde wirst du Dir sicherlich einen eigenen Befehlsdialog ausdenken müssen.
Du kannst zB Strings per HTTP Request verschicken, "ZOOMIN" "ZOOMOUT" "ENDE" , was du gerne möchtest und auf der Server Seite
Laptop musst du halt (wieder selber) diese Befehler auswerten und dann mit deiner Bilddarstellung in Einklang bringen.




PS: eventl gibt es ja schon ähnliche Projekte im Netz

das hab ich nur mal dazu gefunden, geht auch um visualisierung der Gerätelage (auch client server)

http://code.google.com/p/gesturedroid/
Danke schon mal für deine ausführliche Beschreibung. Offensichtlich ist die Implementierung der Serverseite wichtiger, wie Du es beschrieben hast. Ich guck mal, was ich tun kann :).
Viele Grüße
Justin

Thema bewerten

Highlights

Android Jobbörse

Interessante Job Angebote

Jetzt Job Anzeige schalten und den richtigen Mitarbeiter finden! Klicken Sie hier um mehr zu erfahren.

Social-Media