2013-04-07 2 views
0

휴대 전화로 앱을 개발하고 있습니다 (앱 AIDE). 그것의 아주 유용한 도구. 그러나 AIDE가 오류가 없다고 말하면 내 앱을 설치하고 실행하면 "불행히도 (여기에 앱 이름) 중지되었습니다."라는 메시지가 표시됩니다.AIDE 앱 관련 문제

이유를 모르지만 응용 프로그램에서 자이로 스코프를 사용하거나 Display 변수 또는 이와 비슷한 것을 사용하면 이음새가 발생합니다. 어떤 때는 그냥 아무 이유없이 온다.

AIDE는이 코드는 괜찮지 만 작동하지 않는다고 말합니다.

package com.test.gyro; 

import android.app.*; 
import android.hardware.Sensor; 
import android.hardware.SensorEvent; 
import android.hardware.SensorEventListener; 
import android.hardware.SensorManager; 
import android.os.*; 
import android.widget.*; 

public class MainActivity extends Activity implements SensorEventListener 
{ 
    private SensorManager SM; 
    private Sensor gyro; 
    private TextView text; 

    @Override 
    public void onCreate(Bundle SIS) 
    { 
     super.onCreate(SIS); 
     SM = (SensorManager) this.getSystemService(SENSOR_SERVICE); 
     gyro = SM.getDefaultSensor(Sensor.TYPE_GYROSCOPE); 
     text.setText("null"); 
     setContentView(text); 
    } 

    public void onSensorChanged(SensorEvent e) 
    { 
     String m=e.values[0] + ", " + e.values[1] + ", " + e.values[2]; 
     text.setText(m); 
     text.invalidate(); 
    } 

    public void onAccuracyChanged(Sensor S, int a) 
    { 
    } 
} 
+0

매니페스트를 확인할 수 있습니까? 올바른 권한을 추가하지 않았을 수 있습니다. – MowDownJoe

+0

이것은 AIDE에만 국한된 것은 아니지만 Java IDE는 대개 개인 필드가 초기화되지 않았 음을 나타냅니다. 필자는 이클립스가 오류를 범하고 있다고 생각하지만이 체크는 편의를위한 것이다. 실제로 충돌의 원인을 디버깅하는 것이 개발의 일부가되어야하며 최소한 Logcat 사용에 익숙해 져야합니다. –

+0

앱을 빌드 할 때까지는 앱을 만드는 데 오류가 없다고해서 런타임에 오류가 발생하지 않는다는 것을 의미하지 않는다는 것을 이해해야합니다. 예 : 'x = 1; y = 0; z = x/y;'는 정상적으로 컴파일되지만 런타임에는 오류가 발생합니다. logcat 스택 추적을 사용하지 않으면 어떤 일이 벌어지고 있는지 추측하기가 어렵습니다. – Simon

답변

4

textView 변수를 초기화하지 않았습니다. 따라서 text.setText("null")을 할 때 NullPointerException을 던지고 앱을 중지하십시오.

textView을 초기화하고 다시 시작하십시오.

+0

감사! 나는 실제로 그것을 놓쳤다. 이제 텍스트는 작동하지만 자이로 스코프는 작동하지 않습니다. – Hullu2000