私はGPSインフォメーションを使用して環境モニタリング用の計測器をエミュレートするアプリケーションを作成し、測定データ(https://github.com/sickel/measem)をモデル化しています。このアプリ内で、私は、ユーザーが指定された場所にポイントソースを定義できるようにします。この場所の緯度/経度は共有の設定に保存されます。ポイントは、設定(preferences APIを使用)でlatとlonを入力するか、gpslocationで書き込むことによって定義する必要があります。設定が正常に機能している部分は、gpsから読み込むこともできますが、アプリケーションが一時停止するとすぐに、そのデータセットが環境設定エディタのデータで上書きされます。保存された設定を上書きしました
値を格納するための私のコードは次のとおり
SharedPreferences sp=this.getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor ed=sp.edit();
ed.putString("Latitude",lat);
ed.putString("Longitude",lon);
ed.apply();
I)が(ed.commitをも試みました。適用に加えて、しかし同じ結果で。どのように私はここに格納されているものと、プリファレンスエディタから見えるものを更新できますか?私はこの機能で好みの値
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メソッドを定義するアクティビティコードを投稿 –
実験を行い、別の名前で保存できますか?おそらくこれらの値はあなたのアプリやサードパーティのonPause/onDestroyに書かれています。 – petrumo
@Divyesh、更新を参照してください。 onPauseは環境設定に触れません...私はそれらがapply()またはcommit()で保存されているべきだと思いましたか? – MortenSickel