public void getTotalCountSharedPerferences(Context c) {
String totalCount = c.getSharedPreferences("Recode.Info",
Context.MODE_PRIVATE).getString("totalCount", "");
if (totalCount==null) {//이부분
Editor ed = c.getSharedPreferences("Recode.Info",
Context.MODE_PRIVATE).edit();
ed.putString("totalCount", "1");
ed.commit();
}
}
getSharedPreferences를 이용해
Recode.Info-totalCount=null일때
Recode.Info-totalCount=1로 만들고싶습니다.
위와 같이 totalCount==null를 써서 구별해도 아래와 같은 에러가 뜹니다.
에러 해결을 어떻게하나요?
10-26 01:21:28.121: E/AndroidRuntime(23070): FATAL EXCEPTION: main
10-26 01:21:28.121: E/AndroidRuntime(23070): java.lang.NumberFormatException: Invalid int: ""
10-26 01:21:28.121: E/AndroidRuntime(23070): at java.lang.Integer.invalidInt(Integer.java:138)
10-26 01:21:28.121: E/AndroidRuntime(23070): at java.lang.Integer.parseInt(Integer.java:359)
10-26 01:21:28.121: E/AndroidRuntime(23070): at java.lang.Integer.parseInt(Integer.java:332)
10-26 01:21:28.121: E/AndroidRuntime(23070): at com.Util.getTotalCountSharedPerferences(Util.java:48)
오류에 parseInt 에러라고 되어 있습니다. 여기서 발생하는 오류는 아니군요.
1. getString 의 default 값이 "" 입니다. 이것을 null 로 변경하던지
2. if (totalCount==null) 을 if (totalCount.length()==0) 로 변경해보세요.
null 과 "" 는 완전히 다른 겁니다.