해킹 - Android-다른 활동에서 공유 환경 설정을 얻으려면 어떻게 해야 합니까?




preference contains (5)

내 앱에는 버튼이 있습니다 (activity1). 사용자가 그것을 클릭하면 나는 게임에서 소리를 싶지 않습니다. 나는 버튼의 onClick 메서드에서 activity1에 sharedpreferences를 사용하여이 작업을 수행해야한다고 생각했습니다.

SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("sound","1");
editor.commit();

소리와 게임은 다른 활동 (activity2)에서 시작됩니다. 거기에 sharedpreferences 집합을 읽을 필요가 있지만 어떻게 해야할지 모르겠다.

감사

편집하다

나는이 라인을 나왔다.

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(Activity1.this);

Activity2.class에서 여러분의 도움을 바탕으로 다음과 같은 환경 설정을 읽었습니다 :

SharedPreferences myPrefs = getSharedPreferences("Activity1", MODE_PRIVATE);  //Activity1.class
String ifsound = myPrefs.getString("sound","");

 if (ifsound.equals("1"))
 {
     Toast.makeText(Activity1.this, "1", Toast.LENGTH_LONG).show();
 }
 else
 {
      Toast.makeText(Activity1.this, "0", Toast.LENGTH_LONG).show();
 }
  1. Activity1.class에서 버튼을 클릭하여 "소리"를 "1"로 설정하십시오.
  2. 나는 항상 Toast msg에서 항상 "0"을 얻는 Activity2.class를 여는 다른 btn을 클릭한다.

https://code.i-harness.com


Context를 얻기 위해 MainActivity의 메소드를 먼저 작성하십시오.

 public  Context getContext(){
        Context mContext = MainActivity.this;
        return mContext;
    }

원하는 모든 수업에서 이것을 사용하십시오 :

MainActivity mContext = new MainActivity();
        SharedPreferences sharedPrefs = 
PreferenceManager.getDefaultSharedPreferences(mContext.getContext());            

너무 쉽게! 그러나 당신이 정의해야하는 것을 염두에 두어야합니다.
public static String Preference = "yourPreferenceName";

다음과 같은 다른 활동을 요청하십시오.

SharedPreferences myPreferences =getSharedPreferences("YourprefereneName",MODE_PRIVATE)

하나의 활동으로 저장할 수 있습니다.

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
SharedPreferences.Editor editor = prefs.edit();
editor.putString("NameOfShared", "Value");
editor.commit();

다른 활동에서 얻으십시오 :

final SharedPreferences mSharedPreference= PreferenceManager.getDefaultSharedPreferences(getBaseContext()); 
String value=(mSharedPreference.getString("NameOfShared", "Default_Value"));

환경 설정을 저장하는 동안 Activity1에서 다음을 사용합니다.

SharedPreferences mPrefs = getSharedPreferences("IDvalue", 0);    
//Give any name for //preference as I have given "IDvalue" and value 0.    
SharedPreferences.Editor editor = mPrefs.edit();    
editor.putString(key, value);     
// give key value as "sound" you mentioned and value what you // to want give as "1" in you mentioned    
editor.commit();

Activity2에서 공유 값을 검색하는 동안 다음을 사용합니다.

SharedPreferences mPrefs = getSharedPreferences("IDvalue",0);    
String str = mPrefs.getString("sound", "");    
if (str.equals("1")) {    
     // Do what you want    
} else {    
    // Do what you want
}

SharedPrefernces prefs = getPreferences();
String sound = prefs.getString("sound");

환경 설정 파일에 대해 동일한 파일 이름을 언급했는지 확인하십시오.





sharedpreferences