마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 sharedPreference 저장

0 추천

btn5에 대한 일부 소스입니다.. 전체소스는 안올라가서요.

현재 오류는 없는데.. 저장이 안되네요... 소스상 문제가있나요?..

그리고 소스에보면 텍스트색, 배경색을 지정해줬는데..

액티비티를 종료했다가 다시 들어갔을때 그 색깔대로 저장이 되게하려면 어떻게해야되나요 ?

헬프미 (5,430 포인트) 님이 2015년 1월 2일 질문
헬프미님이 2015년 1월 3일 수정

1개의 답변

0 추천
 
채택된 답변

구지 사용할때마다 새로 선언해서 사용할필요는 없습니다

Editor EditPref = pref .edit();
EditPref.putBoolean("NameOfThingToSav", true);
EditPref.commit();
 
이런식으로 사용하시는게 더 간결할듯 하네요
Editor EditPref = pref .edit(); 이부분도 한번만 선언하셔서 공용으로 쓰시면됩니다.
 
그럼 저장할때는
EditPref.putBoolean("NameOfThingToSav", true);
EditPref.commit();
위 2줄만 필요로하죠
 
데이터를 가져올때는
Boolean  getFont = pref .getBoolean("NameOfThingToSav", true);

 

하늘아륑 (16,800 포인트) 님이 2015년 1월 2일 답변
헬프미님이 2015년 1월 3일 채택됨
01-02 19:33:26.320: W/dalvikvm(6957): threadid=1: thread exiting with uncaught exception (group=0x415162a0)
01-02 19:33:26.325: E/AndroidRuntime(6957): FATAL EXCEPTION: main
01-02 19:33:26.325: E/AndroidRuntime(6957): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.andro/com.andro.settingActivity}: java.lang.NullPointerException
01-02 19:33:26.325: E/AndroidRuntime(6957):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2024)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at android.app.ActivityThread.access$600(ActivityThread.java:140)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at android.os.Looper.loop(Looper.java:137)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at android.app.ActivityThread.main(ActivityThread.java:4898)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at java.lang.reflect.Method.invokeNative(Native Method)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at java.lang.reflect.Method.invoke(Method.java:511)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at dalvik.system.NativeStart.main(Native Method)
01-02 19:33:26.325: E/AndroidRuntime(6957): Caused by: java.lang.NullPointerException
01-02 19:33:26.325: E/AndroidRuntime(6957):     at com.andro.settingActivity.<init>(settingActivity.java:28)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at java.lang.Class.newInstanceImpl(Native Method)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at java.lang.Class.newInstance(Class.java:1319)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at android.app.Instrumentation.newActivity(Instrumentation.java:1068)
01-02 19:33:26.325: E/AndroidRuntime(6957):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2015)
01-02 19:33:26.325: E/AndroidRuntime(6957):     ... 11 more
01-02 19:33:28.120: I/Process(6957): Sending signal. PID: 6957 SIG: 9

ㅜㅜㅜ 로그캣이 이렇게 발생하네요..
...