공유 환경 설정에 문제가 있습니다. 방향 변경 전에 검색 상자의 텍스트 (편집 텍스트)를 저장하려고 시도하고 방향 변경에 따라 작업이 다시 생성 된 후 다시 검색하려고합니다. 그것은 편집 텍스트가 따옴표를 포함하는 경우를 제외하고는 매력처럼 작동합니다. 따옴표가 있고 장치를 회전하면 새로운 방향으로 작업을 만들 때 응용 프로그램이 충돌합니다. 이 유일한 기호는 큰 따옴표 "가있을 때 발생하며 작은 따옴표를 포함한 다른 모든 기호는 정상적으로 작동합니다큰 따옴표가있는 문자열을 저장할 때 Android SharedPreferences가 충돌 함
오류는 android.database.sqlite.SQLiteException입니다 : 인식 할 수없는 토큰 :" "ORDER BY 이름 일괄 NOCASE ". 내 추측은 "SQL 쿼리가 쓰여지는 방식에 영향을 미치고있다. 나는 SharedPreferences에 저장하기 전에 \"를 모두 교체하고 문자열을 다시 가져올 때 \ "를 모두 사용한다." .? 문제 사람은 다음과 같이
내 코드는이 문제를 해결하는 방법을 알고!
@Override
public void onResume()
{
super.onResume();
String searchText = f_sharedPreferences.getString("searchText", "");
f_searchBox.setText(searchText);
}
@Override
public void onPause()
{
super.onPause();
String searchText = f_searchBox.getText().toString();
f_sharedPreferences.edit().putString("searchText", searchText).commit();
}
감사합니다 당신의 도움이 아주 많이 감사합니다
편집 :. 내에서 onCreate 방법에있어서, 내가 얻을 f_sharedPreferences을 다음 줄을 사용하십시오.
f_sharedPreferences = getSharedPreferences(this.getClass().getName(), Context.MODE_PRIVATE);
또한 다른 기능을 방해하므로 android : configChanges = "orientation"을 사용할 수 없습니다.
(테스트하지, 그냥 구글에 그것을 발견). 'SharedPreferences'의 기본 안드로이드 구현은 SQLite를 사용하지 않습니다. 휴대 전화 모델, Android OS 버전은 무엇입니까? 또한'f_sharedPreferences'에 대한 참조를 어떻게 얻습니까? 코드 부분을 보여 주시겠습니까? – inazaruk
삼성 갤럭시 타블렛을 사용하여 3.1을 실행 중입니다. f_sharedPreferences가 어떻게 표시되는지 원래 게시물을 업데이트했습니다. 감사! – Chris