我是android開發新手。有沒有辦法從另一個包中擴展類?我試圖從另一個包中獲取共享首選項,儘管我可以訪問同一個包中的類之間的共享首選項。但是,在不同的包中,我不知道如何執行editer.commit()或編輯另一個包中的共享首選項。請幫忙。另一個包中的共享首選項
0
A
回答
-2
試試這個代碼
把一個字符串sharedpreference
SharedPreferences USERNAME_and_PASSWORD;
SharedPreferences.Editor editor;
USERNAME_and_PASSWORD = getSharedPreferences(Shared_preference_key,
MODE_PRIVATE);
editor = USERNAME_and_PASSWORD.edit();
editor.putString(user_name_key, userName);
editor.commit();
從共享偏好得到一個字符串
SharedPreferences USERNAME_and_PASSWORD;
USERNAME_and_PASSWORD = getSharedPreferences(Shared_preference_key,
MODE_PRIVATE);
USERNAME_and_PASSWORD = getSharedPreferences(Shared_preference_key,
MODE_PRIVATE);
String Return_Password = USERNAME_and_PASSWORD.getString(pass_word_key,
"Guest");
0
I put example for the sharing data between two Activities using shared preference. Using this code u get idea of shared preference how it's work. you can also be shared data between two activites which are in different packages in the same application.
PracSharePrefActivity Class
package com.sharedpref;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class PracSharePrefActivity extends Activity {
private SharedPreferences settings;
private String name,subject;
private Button btnSave;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
settings = PreferenceManager.getDefaultSharedPreferences(this);
name = settings.getString("Name","");
subject = settings.getString("Subject", "");
Log.e("Name0==",name);
Log.e("Subject0==",subject);
String yourName="Deval";
String yourSubject="Android";
SharedPreferences.Editor editor = settings.edit();
editor.putString("Name",yourName);
editor.putString("Subject", yourSubject);
editor.commit();
Log.e("Name 1==",settings.getString("Name", ""));
Log.e("Subject 1==",settings.getString("Subject", ""));
btnSave=(Button)findViewById(R.id.btnsave);
btnSave.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(PracSharePrefActivity.this,GetSharedPref.class);
startActivity(i);
}
});
}
}
"GetSharedPref" Class
package com.sharedpref;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
public class GetSharedPref extends Activity {
private SharedPreferences preferences;
private String name,subject;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pref);
preferences = PreferenceManager.getDefaultSharedPreferences(this);
name = preferences.getString("Name", "");
subject=preferences.getString("Subject", "");
Log.e("Name: ",preferences.getString("Name", ""));
Log.e("Subject: ",preferences.getString("Subject",""));
preferences = PreferenceManager.getDefaultSharedPreferences(this);
}
}
+0
獲取共享首選項數據,並使用「pracshareprefactivity」類設置數據。 –
+0
感謝您的幫助。你的解決方案有效 – Amblll
+0
@Amblll你說這個解決方案有效,但接受其他... –
相關問題
- 1. 共享首選項
- 2. 共享首選項
- 3. 共享首選項
- 4. 獲取另一個類的共享首選項數據
- 5. Arraylist的共享首選項
- 6. Android - 兩個類的共享首選項
- 7. 清除共享首選項
- 8. 共享首選項關閉
- 9. 使用共享首選項
- 10. 列表共享首選項
- 11. 共享首選項存儲
- 12. Android Studio共享首選項
- 13. 檢索共享首選項
- 14. 共享首選項Android
- 15. 共享首選項Android
- 16. Android共享首選項
- 17. Android共享首選項
- 18. 乘法共享首選項
- 19. 共享首選項Android
- 20. 共享首選項多項選擇ListView
- 21. ListFragments中的共享首選項
- 22. WebView中的共享首選項
- 23. 共享首選項加載多個值
- 24. 訪問多個共享首選項
- 25. 共享首選項前5個整數
- 26. 使用共享首選項在Android中設置首選項
- 27. 保存int的共享首選項?
- 28. 共享首選項的問題
- 29. 已刪除類的共享首選項
- 30. 活動之間的共享首選項
這些用於檢索和編輯同一個包中的共享首選項,我試圖做的是從另一個包中的類訪問sharedpreferences。例如,如果我使用代碼「USERNAME_and_PASSWORD = getSharedPreferences(Shared_preference_key, MODE_PRIVATE)」獲取共享首選項;「來自另一個包中的另一個類,它將無法檢測變量「Shared_preference_key」,因此它不起作用。有沒有一種方法可以從其他軟件包的共享首選項訪問? – Amblll
我們可以通過不同的package.add這些行之前訪問共享prefernce String Shared_preference_key =「Shared Preference」; SharedPreferences USERNAME_and_PASSWORD; USERNAME_and_PASSWORD = getSharedPreferences(Shared_preference_key, MODE_PRIVATE); String Return_Password = USERNAME_and_PASSWORD.getString(pass_word_key, 「Guest」); –
我編輯了我的答案 –