2015-12-04 83 views
1

檢索共享偏好值,這是我的共享偏好方法如何在靜態方法

@Override 
    protected void onStart() { 
     super.onStart(); 
     SharedPreferences.Editor editor = sharedpreferences.edit(); 
     editor.putInt("APPSTATUS", 1); 
     editor.putLong("eventId", eventMO.getEventId()); 
     editor.commit(); 
     Log.i("App", "start"); 
     AppActivityStatus.setActivityStarted(); 
     AppActivityStatus.setActivityContext(context); 
    } 

這裏存儲在共享偏好的事件ID值。我需要在以下靜態方法中獲取此event_id值以比較event_id

public static void messageHandler(final Context context ,final MessageMO messageMo) { 

     UIHandler = new Handler(Looper.getMainLooper()); 

     UIHandler.post(new Runnable() { 
      public void run() { 
       // SharedPreferences sharedPreferences1; 
       Log.e("messageHandler", messageMo.getEventTitle()); 
       ChatMO chatMO = new ChatMO(); 
       chatMO.setMessage(messageMo.getMessage()); 
       chatMO.setSelf(0); 
       chatMO.setFromName(messageMo.getfromUserName()); 
       chatMO.setDate(messageMo.getDate()); 
       chatMO.setEvent_id(messageMo.getEventId()); 
       Log.e("handler", "eventid" + chatMO.getEvent_id()); 
       Log.e("handler", "date" + chatMO.getDate()); 
       listChatMessageObjectses.add(chatMO); 
       Log.e("handler", "listmessage" + listChatMessageObjectses); 

        } 
     }); 
    } 

回答

0

您可以使用下面的代碼段讀取這些值。您需要上下文來獲取您可以在同一個類中本地存儲的首選實例。

SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context); 

int appStatus = pref.getInt("APPSTATUS", 1); 

long eventId = pref.getLong("eventId", 0);