Johannes B.
- Forum-Beiträge: 2
04.12.2011, 13:22:18 via Website
04.12.2011 13:22:18 via Website
Hallo,
ich hoffe ich poste hier im richtigen Bereich. Ich habe heute damit angefangen mit Eclipse und ADT Android Apps zu programmieren. Zum auslesen des Lagesensors habe ich folgenden Code benutzt:
Das klappt auch wirklich gut.
Jetzt möchte ich noch die GPS Daten auslesen. Kann ich das Sensor-auslesen in eine Library packen oder in einen andere .java Datei auslagern und dann von meiner "Main" Methode darauf zugreifen?
Johannes
PS: Ich habe schon versucht eine neue Klasse zu machen und diesen Code hineinzukopieren. Danach habe ich den Code von den GUI Sachen befreit und eine public String Variable gemacht, in der die Werte gespeichert werden. Danach habe ich aus HelloWorld.java auf diese Klasse zugegriffen, leider ohne Erfolg. Das Programm ist immer abgestürzt.
ich hoffe ich poste hier im richtigen Bereich. Ich habe heute damit angefangen mit Eclipse und ADT Android Apps zu programmieren. Zum auslesen des Lagesensors habe ich folgenden Code benutzt:
1package example.hello;
2
3import android.app.Activity;
4import android.hardware.SensorListener;
5import android.hardware.SensorManager;
6import android.os.Bundle;
7import android.util.Log;
8import android.widget.TextView;
9
10@SuppressWarnings("deprecation")
11public class HelloAndroid extends Activity implements SensorListener {
12 private static final String TAG = "SensorDemo";
13 private SensorManager sensorManager;
14 private TextView outView;
15 private int sensor = SensorManager.SENSOR_ORIENTATION;
16
17 /** Called when the activity is first created. */
18 @Override
19 public void onCreate(Bundle savedInstanceState) {
20 super.onCreate(savedInstanceState);
21 setContentView(R.layout.main);
22 outView = (TextView) findViewById(R.id.output);
23
24 // Real sensor manager
25 sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
26 }
27
28 /** Register for the updates when Activity is in foreground */
29 @Override
30 protected void onResume() {
31 super.onResume();
32 Log.d(TAG, "onResume");
33 sensorManager.registerListener(this, sensor);
34 }
35
36 /** Stop the updates when Activity is paused */
37 @Override
38 protected void onPause() {
39 super.onPause();
40 Log.d(TAG, "onPause");
41 sensorManager.unregisterListener(this, sensor);
42 }
43
44 public void onAccuracyChanged(int sensor, int accuracy) {
45 Log.d(TAG, String.format("onAccuracyChanged sensor: %d accuraccy: %d",
46 sensor, accuracy));
47 }
48
49 public void onSensorChanged(int sensorReporting, float[] values) {
50 if (sensorReporting != sensor)
51 return;
52
53 float azimuth = Math.round(values[0]);
54 float pitch = Math.round(values[1]);
55 float roll = Math.round(values[2]);
56
57 String out = String.format("Azimuth: %.2f\n\nPitch:%.2f\nRoll:%2f", azimuth,
58 pitch, roll);
59 Log.d(TAG, out);
60 outView.setText(out);
61 }
62}
2
3import android.app.Activity;
4import android.hardware.SensorListener;
5import android.hardware.SensorManager;
6import android.os.Bundle;
7import android.util.Log;
8import android.widget.TextView;
9
10@SuppressWarnings("deprecation")
11public class HelloAndroid extends Activity implements SensorListener {
12 private static final String TAG = "SensorDemo";
13 private SensorManager sensorManager;
14 private TextView outView;
15 private int sensor = SensorManager.SENSOR_ORIENTATION;
16
17 /** Called when the activity is first created. */
18 @Override
19 public void onCreate(Bundle savedInstanceState) {
20 super.onCreate(savedInstanceState);
21 setContentView(R.layout.main);
22 outView = (TextView) findViewById(R.id.output);
23
24 // Real sensor manager
25 sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
26 }
27
28 /** Register for the updates when Activity is in foreground */
29 @Override
30 protected void onResume() {
31 super.onResume();
32 Log.d(TAG, "onResume");
33 sensorManager.registerListener(this, sensor);
34 }
35
36 /** Stop the updates when Activity is paused */
37 @Override
38 protected void onPause() {
39 super.onPause();
40 Log.d(TAG, "onPause");
41 sensorManager.unregisterListener(this, sensor);
42 }
43
44 public void onAccuracyChanged(int sensor, int accuracy) {
45 Log.d(TAG, String.format("onAccuracyChanged sensor: %d accuraccy: %d",
46 sensor, accuracy));
47 }
48
49 public void onSensorChanged(int sensorReporting, float[] values) {
50 if (sensorReporting != sensor)
51 return;
52
53 float azimuth = Math.round(values[0]);
54 float pitch = Math.round(values[1]);
55 float roll = Math.round(values[2]);
56
57 String out = String.format("Azimuth: %.2f\n\nPitch:%.2f\nRoll:%2f", azimuth,
58 pitch, roll);
59 Log.d(TAG, out);
60 outView.setText(out);
61 }
62}
Das klappt auch wirklich gut.
Jetzt möchte ich noch die GPS Daten auslesen. Kann ich das Sensor-auslesen in eine Library packen oder in einen andere .java Datei auslagern und dann von meiner "Main" Methode darauf zugreifen?
Johannes
PS: Ich habe schon versucht eine neue Klasse zu machen und diesen Code hineinzukopieren. Danach habe ich den Code von den GUI Sachen befreit und eine public String Variable gemacht, in der die Werte gespeichert werden. Danach habe ich aus HelloWorld.java auf diese Klasse zugegriffen, leider ohne Erfolg. Das Programm ist immer abgestürzt.
— geändert am 04.12.2011, 14:13:56
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.