Android의 앱에서 공유 환경 설정 데이터를 삭제하는 방법 동기화하는 응용 프로그램을 만들고 있습니다. 테스트

응용 프로그램의 SharedPreferences 데이터를 어떻게 삭제합니까?

많은 웹 서비스를 사용하여 데이터를 동기화하는 응용 프로그램을 만들고 있습니다. 테스트 목적으로 앱을 다시 시작할 때 일부 SharedPreferences 값을 지워야합니다.



답변

특정 값을 제거하려면 SharedPreferences.Editor.remove () 다음에commit()

모두 제거하고 SharedPreferences.Editor.clear()그 뒤에commit()

반환 값에 신경 쓰지 않고 응용 프로그램의 기본 스레드 에서이 값을 사용하는 경우 apply()대신 사용 을 고려하십시오 .


답변

내 해결책 :

SharedPreferences preferences = getSharedPreferences("Mypref", 0);
preferences.edit().remove("text").commit();


답변

모든 환경 설정 제거 :

SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE);
settings.edit().clear().commit();

단일 환경 설정 제거 :

SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE);
settings.edit().remove("KeyName").commit();


답변

매번 제거 할 필요가없는 경우 다음에서 수동으로 제거 할 수 있습니다.

설정-> 응용 프로그램-> 응용 프로그램 관리-> (앱 선택)-> 데이터 지우기 또는 제거

최신 버전의 Android :

설정-> 응용 프로그램-> (앱 선택)-> 저장소-> 데이터 지우기 및 캐시 지우기


답변

한 줄에 Android 공유 환경 설정 삭제 🙂

context.getSharedPreferences("YOUR_PREFS", 0).edit().clear().commit();

또는 apply비 차단 비동기 작업의 경우 :

this.getSharedPreferences("YOUR_PREFS", 0).edit().clear().apply();


답변

모든 솔루션이 완전히 작동하지 않거나 죽었을 것 같습니다

활동에서 모든 SharedPreferences를 지우는 방법

PreferenceManager.getDefaultSharedPreferences(getBaseContext()).edit().clear().apply();

onCreate 후 기본 활동에서 이것을 호출하십시오.

참고 * .apply()대신에 사용 했습니다 .commit(). commit ()을 자유롭게 선택할 수 있습니다.


답변

루팅 된 전화 없이도 adb 셸을 사용하여이 작업을 수행 할 수 있습니다. 유일한 문제점은 앱을 디버깅 할 수 있어야한다는 것입니다.

run-as <your package name> <command>

예를 들면 다음과 같습니다.

run-as com.asdf.blah rm /data/data/com.asdf.blah/databases/myDB.db

또는 위의 작업을 수행 할 수 있지만 명령없이 앱 패키지 루트로 이동하여 앱 컨텍스트에서 더 많은 명령을 실행할 수 있습니다.