Lagesensor eines Handys ansprechen?

Status
Nicht offen für weitere Antworten.

Bastifantasti

Mitglied
Hallo,

wie kann ich den Lagesensor eines Handys ansprechen?
Also ich habe zwar (noch) kein Handy mit Lagesensor, aber meine Schwester hat eins, und meine Freundin wird bald eins haben. Naja und da wurde ich halt gefragt, ob ich dann nicht ein Handyspiel programmieren kann, was dann auch mit dem Sensor funktioniert...

Also was muss ich da machen?
 

Bastifantasti

Mitglied
Hmm... sorry, aber was muss ich da jetzt machen? Also was genau muss ich da importieren, bzw. welche Methoden muss ich nutzen?
 

Noctarius

Top Contributor
Ist halt ein ganz normales Listener / Observer System.

Ergo eine Implementierung von SensorEventListener am SensorManager registrieren und auf die Events reagieren :)
 

Noctarius

Top Contributor
Ähm ka ich versuch's mal, da ich auch noch Android Dalvik Zeug programmiert hab. Macht also noch keinen Anspruch auf Richtigkeit (sonst musst bis Mitte April warten *g*)

Ich versuch's mal eben im Emulator hinzubekommen. Ich meld mich gleich nomma.
 

Noctarius

Top Contributor
Ich denke so geht es :)

Java:
public class Lagesensor extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		SensorManager manager = (SensorManager) getSystemService(SENSOR_SERVICE);
		Sensor sensor = manager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
		manager.registerListener(new SensorHandler(), sensor,
				SensorManager.SENSOR_DELAY_GAME);
	}

	public static class SensorHandler implements SensorEventListener {

		@Override
		public void onAccuracyChanged(Sensor sensor, int accuracy) {
			System.out.println("onAccuracyChanged::" + sensor.getName() + "::"
					+ accuracy);
		}

		@Override
		public void onSensorChanged(SensorEvent event) {
			System.out.println("onSensorChanged::" + event.sensor.getName()
					+ "::" + event.accuracy);
		}

	}
}
 

Bastifantasti

Mitglied
Also ich kann da so jetzt nichts mit anfangen... ich mein das ist ja nicht alles, oder?
Also irgendwo muss ich doch sicherlich was importieren oder so... also wenn du mal ein komplettes, in sich funktionierendes Beispiel machen könntest, fänd ich das schon sehr gut. Kann von mir aus auch ne Woche oder so dauern, ist jetzt also nicht sooo dermaßen dringend...
 

Noctarius

Top Contributor
Lol Oo Also wenn du damit nichts anfangen kannst, wie willst du dann ein komplettes Spiel machen?

Neues Android Projekt machen, Code in die neue Klasse pasten, Klassen-Imports automatisch generieren, Handler mit Code füllen, fertig.
 

Bastifantasti

Mitglied
Sagst du so einfach...
Also ich habe ein Spiel fertig gemacht.
Also können, kann ich das quasi schon.

Aber mit sowas komm ich jetzt grade nicht so klar...

Also wie generiere ich denn Imports automatisch und was für einen Handler fülle ich mit Codes???
 

Bastifantasti

Mitglied
Ok, also meine Schwester hat ein Sony Ericsson C902, meine Freundin wird ein Samsung Jet, oder Pixon bekommen.
Geht das nicht für alle gleich?
 

Bastifantasti

Mitglied
Also bei allen 3 Handys ist es jeweils eine Eigenentwicklung...
Also mich würde das im Moment sowieso mehr für das C902 interessieren, da ich das direkt testen könnte...
 

Noctarius

Top Contributor
Dann schau bei Sony was es an Developerkits für das OS gibt, runterladen, vermutlich C++ lernen und weitermachen.
 

The_S

Top Contributor
Dann Google doch mal, ob und wie du den Lagesensor dieser Geräte kannst. Etwas anderes außer Google fragen kann hier mit hoher Wahrscheinlichkeit auch niemand machen.
 

Bastifantasti

Mitglied
Wenn du mir erklären kannst, was du mit "ob und wie du den Lagesensor dieser Geräte kannst" meinst, dann kann ich mal googlen... ;)

Also gegooglet habe ich ja schon, wie man das mit dem Lagesensor machen kann, nur bin ich halt davon ausgegangen, dass das immer gleich ist. Außerdem hatte ich auch nichts gefunden, sodass ich mich hier im Forum angemeldet habe.
 

Noctarius

Top Contributor
Nee der Lagesensor müsste das Gyroscope sein. Der G-Sensor ist doch der Beschleunigungsmesser oder bin ich grad auf dem Holzweg (im Halbschlaf?) ^^
 

Noctarius

Top Contributor
Ich hab mich damit auch noch nie wirklich auseinander gesetzt, das Desire ist erst ab April bei T-Mobile und dann bei mir :p
 

Bastifantasti

Mitglied
Wo ist der Unterschied zwischen Beschleunigungs- und Lagesensor?
Also ich "brauch" den Sensor, womit man so Spiele wie das mit der Kugel spielen kann. (Also wo die nicht ins Loch fallen darf, ich glaube ihr wisst, was ich da meine...)
 

Noctarius

Top Contributor
Das sagt doch der Name wo der Unterschied ist. Der eine misst Beschleunigung der andere die Lage (den gyroskopischen Wert).
 

Bastifantasti

Mitglied
Irgendwie bin ich verwirrt.
Nirgendswo finde ich eine vernünftige Erklärung, was genau jetzt wofür ist, was genau was ist, und was für einen Sensor das Handy braucht, damit ich so ein Spiel mit der Kugel machen kann (So ein Kugellabyrinth halt).

Und ich finde auch nirgendswo, was für einen Sensor das Pixon 12 hat...
Kann mir da denn keiner helfen?
 

The_S

Top Contributor
Wir sind hier ein Java-, und kein Handyforum. Evtl. wäre es geschickter in einem Handy/Pixon Forum bzgl. der technischen Details nachzufragen.
 

Bastifantasti

Mitglied
Ok, macht natürlich Sinn, nur da ich mich jetzt nicht extra dafür in ein anderes Forum anmelden wollte, hatte ich gedacht hier mal nach zu fragen.

Eigentlich will ich ja auch nur wissen, wie man solche Sensoren anspricht.
Und dafür bin ich ja wohl hier richtig. ;)

Wenn ich also ein (am besten) Tutorial für einen Lagesensor und eines für einen Beschleunigungssensor habe, dann denke ich mal bin ich auf der sicheren Seite.

Hat denn niemand vielleicht einen Link zu einer Seite, wo so etwas gut erklärt ist?
 

Noctarius

Top Contributor
Schnallst du nicht, dass das darauf ankommt wie das spezifisch auf einer Handyplattform implementiert ist?
Außer auf Android gibt keine allgemeine Implementierung auf J2ME Basis.
 

Bastifantasti

Mitglied
Doch klar schnall ich das.
Nur was willst du mir jetzt damit sagen?
Dass ich aufgeben soll, oder was?

Ich will doch nur wissen, wo ich dann eben diese Information dazu herbekomme.
Und da hatte ich eigentlich gedacht, dass ich in einem J2ME Forum richtig sei...
 

Noctarius

Top Contributor
Vom Hersteller des Handys, woher sonst?

Es gibt keine Standard API für diese Sensoren in J2ME. Wenn sie sich überhaupt aus J2ME heraus ansprechen lassen, dann nur durch herstellerspezifische Erweiterungen. Das wurde aber schon erwähnt.

Nur Android bietet in der Standard API (und das ist kein J2ME sondern ein Android-eigener Java Dialekt) direkten Zugriff auf Sensoren dieser Art.
 

Bastifantasti

Mitglied
So ich bin fündig geworden.
Allerdings habe ich noch ein Problem.

Hier (Samsung Mobile Innovator - Samsung Developer program for Symbian, Windows Mobile and Java) habe ich ganz unten die Sensor_Demp.zip als jar Datei heruntergeladen und auf dem Pixon 12 ausgeführt.
Funktionierte.

Aber wenn ich den Quellcode der auf der Seite da steht auf meinem Emulator am PC ausführen möchte kommt folgende Fehlermeldung:

package javax.microedition.sensor does not exist

Also muss ich doch irgendwie dieses Package installieren.
Ich habe dann daraufhin das hier (JSR-000256 Mobile Sensor API 1.0 - Final Release)
heruntergeladen (Ich hoffe, das ist das richtige).
Jedoch weiß ich nicht, wie ich das dann installieren kann, damit mein Emulator das erkennt.
Kann mir jemand da weiterhelfen?
 

Tobse

Top Contributor
Ich hatte ein änliches Problem. Das J2ME-Kit von Sun hat das Package javax.microedition.sensor , aber man kann es im Emulator glaub nicht testen, oder ich hab nich gechekt wie. Naja, des Handy frissts auch nicht.
 

Bastifantasti

Mitglied
Also prinzipiell gehts ja.
Also wenn ich die jar Datei in den Emulator lade, kann ich diese auch ausführen.
Nur halt nicht, wenn ich selber Code und es builden lasse.

Was heißt denn in den Buildpath mit aufnehmen?
 

Tobse

Top Contributor
Das Java SDK Fürn PC hat auch das javax.microedition nicht, ich wüsste zumindest nicht, wozu es das brauchen sollte. Aber der Emulator braucht es ja, also hat ers.
 

MarderFahrer

Gesperrter Benutzer
Wenn du es schon runtergeladen hast, musst du deinem Programm aber noch mitteilen, dass es auch vorhanden ist. Woher sollte dein Programm das auch sonst wissen?

Dafür ist wie oben schon erwähnt der Build Path da. Dort können externe Bibliotheken für dein Programm "eingehängt" werden. Dann sind sie dem Programm bekannt und können mittels imports genutzt werden.

Ich weiß jetzt nicht aus dem Kopf wie man einen Build Path konfiguriert. ich nutze als IDE immer Eclipse. Da geht das recht komfortabel mitttels Rechts Klick auf das entsprechende Projekt. Da gibt es eine Konfigurations Seite, wo man externe Bibiltheken direkt von der Festplatte einbinden kann.
 

Bastifantasti

Mitglied
Ja dass downloaden nicht reicht, weiß ich auch.
Deswegen frage ich ja nach, was ich jetzt machen muss.
Ich builde meine Sachen allerdings nicht mit Eclipse sondern mit der Samsung SDK...
 

Noctarius

Top Contributor
Wie wäre es wenn du sowas in den Developer-Foren von Samsung nachfragst? Du bist hier tatsächlich der erste der nach dem Samsung SDK fragt seit ich hier bin. Hier wird dir sicher kein Experte über den Weg laufen und sich das Zeug für dich durchlesen wird auch keiner.

Ich bin fast überzeugt, dass das irgendwo in der Dokumentation erklärt ist, wie man externe Bibliotheken einbinden muss.
 

Bastifantasti

Mitglied
Ich hätte ja auch eigentlich gedacht, dass das nichts Samsung-spezifisches ist, sondern allgemein irgendwie installiert werden muss.

Sowas wie java.util oder so, geht ja auch überall ohne, dass ich das Samsung-spezifisch installieren muss.
Deswegen habe ich halt hier gefragt.
 

Noctarius

Top Contributor
Dann solltest du dich vielleicht doch erstmal mit den Basics von Java auseinander setzen, das sind nämlich Grundlagen.
 

Bastifantasti

Mitglied
Was für Basics?
Also ich habe herausgefunden, dass ich jar Dateien beim Samsung SDK als zusätzliche Packages geben kann.
Allerdings ist das was ich heruntergeladen habe keine jar Datei...
 

Noctarius

Top Contributor
Dann frag halt im Samsung Forum, da werden das bestimmt schon welche versucht haben und dir erklären können. Ich mach den Thread jetzt zu weil ich der festen Meinung bin, du bist hier falsch.

Bei generellen Java Fragen bist du hier gern gesehen aber aus Faulheit (so kommt es mir vor) nicht im richtigen Forum zu fragen, seh ich nicht ein.

~closed~
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Dynamische View Inhalt -> Lagesensor Android & Cross-Platform Mobile Apps 3
L Feld eines Eingabeformulars automatisch mit UserID ausfüllen Android & Cross-Platform Mobile Apps 1
L Android Länge eines Musikordners Android & Cross-Platform Mobile Apps 7
C Zugriff auf die Position eines String- bzw Spinner-Arrays Android & Cross-Platform Mobile Apps 1
L Hintergrund eines Switch(Buttons) ändern Android & Cross-Platform Mobile Apps 3
Robat Android Umsetzung eines Spiels mit Minispielen Android & Cross-Platform Mobile Apps 5
A Android Öffnen eines ProgressDialogs Android & Cross-Platform Mobile Apps 5
antonbracke Android OpenGL - Element zum Zeigen eines .obj Models Android & Cross-Platform Mobile Apps 2
M [Android] Wie erstellt man eine Verknüpfung eines Ordners? Android & Cross-Platform Mobile Apps 7
H Frage bei erstellen eines Projectes Android & Cross-Platform Mobile Apps 3
M Inhalt eines Eingabefeldes an einen Server senden? Android & Cross-Platform Mobile Apps 9
B Überlagern eines Layouts Android & Cross-Platform Mobile Apps 6
A Fehler beim Starten eines Intents - alles in einer Klasse funktioniert... Android & Cross-Platform Mobile Apps 4
T Android Ergebnis eines XML+XSLT "transform" in eine HTML - Datei schreiben (Android) Android & Cross-Platform Mobile Apps 2
A Problem beim Subtrahieren eines Double von einem Double Android & Cross-Platform Mobile Apps 5
C Woche eines Jahres rausfinden Android & Cross-Platform Mobile Apps 2
M Android Kabellose Datenübertragung zwischen zwei Handys - Reichweiten Android & Cross-Platform Mobile Apps 3
B Mit Button GeräteEinstellung des Handys öffnen Android & Cross-Platform Mobile Apps 3
F Touch-Handys Android & Cross-Platform Mobile Apps 8
S JButton in GUI für Handys? Android & Cross-Platform Mobile Apps 3
R Java Programmierung auf Handys Android & Cross-Platform Mobile Apps 8
I SMS - geeignete Handys Android & Cross-Platform Mobile Apps 4
O Bluetooth Verbindung zwischen 2 Handys Android & Cross-Platform Mobile Apps 5
M java in handys Android & Cross-Platform Mobile Apps 1

Ähnliche Java Themen

Neue Themen


Oben