GPS 정보를 사용하여 환경 모니터링을위한 도구를 에뮬레이트하는 응용 프로그램을 작성하여 측정 데이터 (https://github.com/sickel/measem)를 모델링했습니다. 이 응용 프로그램 내에서 사용자가 주어진 위치에서 지점 소스를 정의 할 수 있기를 바랍니다. 이 위치의 위도/경도는 공유 환경 설정에 저장됩니다. 점은 환경 설정 API를 사용하여 설정에서 lat 및 lon을 입력하거나 gpslocation에서 연결하여 정의해야합니다. 설정이있는 부분이 잘 작동하고 gps에서 해당 위치를 읽을 수도 있지만 앱이 일시 중지되는 즉시 환경 설정 편집기의 데이터로 해당 데이터 세트를 덮어 씁니다.저장 한 환경 설정을 덮어 씁니다.
값을 저장하기위한 내 코드는 : I
도 ed.commit 시도했다SharedPreferences sp=this.getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor ed=sp.edit();
ed.putString("Latitude",lat);
ed.putString("Longitude",lon);
ed.apply();
(); 적용에 더하여, 그러나 동일한 결과와 함께. 환경 설정 편집기에서 본 내용을 여기에 저장하는 방법으로 어떻게 업데이트 할 수 있습니까? 나는이 기능의 환경 설정에서 값을 설정하고하는 것은
private void readPrefs(){
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
String ret=sharedPref.getString("Latitude", "1");
Double lat= Double.parseDouble(ret);
ret=sharedPref.getString("Longitude", "1");
Double lon= Double.parseDouble(ret);
there.setLatitude(lat);
there.setLongitude(lon);
}
이것은 onResume에서 호출에 beeing한다
public void onPause() {
super.onPause();
timer.cancel();
timer.purge();
h2.removeCallbacks(run);
Button b = (Button)findViewById(R.id.button);
b.setText("start");
}
(:
내 onPause가 기본 설정으로 아무것도하지 않는, 그냥 다른 가사를 않습니다) 및 onActivityResult()입니다. SettingsFragment를 사용하여 settingsmenu를 사용하고 있습니다. docs에서
onPause/Ondestro 메서드를 정의하는 활동 코드 게시 –
실험을 수행하고 다른 이름으로 저장할 수 있습니까? 어쩌면이 값들은 앱이나 제 3 자의 onPause/onDestroy에 쓰여질 것입니다. – petrumo
@Divyesh, 업데이트를 참조하십시오. onPause는 환경 설정에 영향을주지 않습니다 ... apply() 또는 commit()으로 저장해야한다고 생각 했습니까? – MortenSickel