私はAndroid向けのプログラミングに比較的慣れていないため、(おそらく単純な)問題に悩まされています。私は何時間もいじってみましたが、どこにも行きません...
私のコードは次のとおりです。デバイスが回転してアクティビティが再開されると、アプリが停止します。onSaveInstanceState および onRestoreInstanceState メソッドを使用しましたが、役に立ちません! 誰か見てください:
public class DebugActivity extends Activity implements GPSCallback{
private GPSManager gpsM=null;
private ConvertSpeed conS =null;
private double speed = 0.0;
    @Override
    public void onCreate(Bundle savedInstanceState){
        if(savedInstanceState != null){
            speed = savedInstanceState.getDouble("speed");
        }
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_debug);
        gpsM = new GPSManager();
        gpsM.startListening(getApplicationContext());
        gpsM.setGPSCallback(this);
        conS = new ConvertSpeed();
    }
    @Override
    public void onSaveInstanceState(Bundle outState){
        outState.putDouble("speed",speed);
        super.onSaveInstanceState(outState);
    }
    @Override
    public void onRestoreInstanceState(Bundle savedInstanceState){
        super.onRestoreInstanceState(savedInstanceState);
        speed = savedInstanceState.getDouble("speed");
    }
@Override
    public void onDestroy(){
        gpsM.stopListening();
        gpsM.setGPSCallback(null);
        gpsM = null;
    }
    @Override
    public void onGPSUpdate(Location location) {
        location.getLatitude();
        location.getLongitude();
        speed = location.getSpeed();
        String speedString = "" + conS.convertSpeed(speed,2);
        TextView debug1 = ((TextView)findViewById(R.id.tvSpeed));
        debug1.setText(speedString);
    }
}
デバッグ:
このonCreateメソッドでは、アクティビティが初めて実行されます。
if(savedInstanceState != null){
speed = savedInstanceState.getDouble("speed");
それは示しoutState = null、speed = 0.0
画面が回転し、onSaveInstanceStateメソッドが表示outState = Bundle[{speed=0.0}]され、2 秒後に到達せずにクラッシュonRestoreInstanceStateしonCreateます。