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

SharedPreferences 질문입니다.

0 추천
전에 질문 했었는데 해결이 안되서 한번 더 올립니다..

소켓서버통신 하고 있는데요. 서버에서 전송된 데이터를 받을때 메인액티비티말고 따로 쓰레드 액티비티를 만들어서 통신하고있습니다.

여기서 데이터가 들어오면 또다른 액티비티에 그 데이터를 저장하기 위해서 sharedpreferences를 사용하려고 하는데요.. intent를 쓰기에는 어플 종료되도 기록이 남아있어야해서요.

public class rcvthread implements Runnable {

           public void run() {
             while(flag == 1){
              try{
               networkReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
               rcvData = networkReader.readLine();

               SharedPreferences pref1 = getSharedPreferences("PrefName", MODE_PRIVATE);

 

이렇게하니까 MODE_PRIVATE부분에

MODE_PRIVATE cannot be resolved to a variable 라고 에러가 뜹니다.

 

import android.content.SharedPreferences;
import android.content.Context;

두개 다 추가해 주었구요.

그래서

SharedPreferences pref1 = getSharedPreferences("PrefName", Context.MODE_PRIVATE);
이렇게 했었는데 이렇게하면 getSharedPreferences 에 오류가 뜹니다.
     - The method getSharedPreferences(String, int) is undefined for the type
      thread

어떻게해야하나요??
익명사용자 님이 2015년 9월 29일 질문

1개의 답변

0 추천
저번에 질문하신 그분 같은데.....
다시한번 말씀드리지만 부디 자바책을 먼저 보세요. ㅠㅠ

해당 메소드는 Thread 클래스에 정의되어 있지 않습니다. 오류 메세지 그냥 그대로 읽은겁니다.

그렇다면 어떻게 해야할까요. 당연히 해당 메소드가 어디있는지 찾고, 그 클래스나 클래스의 인스턴스로 참조를 해야합니다. 자바를 아신다면 그냥 당연한 거에요.

해당 메소드는 Activity나 Context에 있을겁니다. 참조를 받아와서 처리하거나 별도의 메소드를 만드세요.

이정도면 그냥 코드를 작성 해드려야 하는 정도네요.
Jinthree (8,980 포인트) 님이 2015년 9월 30일 답변
...