2016-09-18 42 views
0

我試圖向我的Firebase的根添加一個子項,但我希望新的root擁有該用戶的名稱。我將用戶信息存儲在sharedpreference中,我可以在onCreate之前訪問此SharedPreferenceSharedPreferences:您可以在onCreate之前訪問存儲在sharedPreferences中的變量

public static final String USER_PREFS =「END_PREFS」;

SharedPreferences sharedpreferences; 

final SharedPreferences user_data = getSharedPreferences("PESASEND_PREFS", Context.MODE_PRIVATE); 

private DatabaseReference root = FirebaseDatabase.getInstance().getReference().getRoot().child("Support").child((getApplicationContext().getSharedPreferences("END_PREFS", Context.MODE_PRIVATE)).getString("namekey", null)); 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_contact_us); 
+0

你可以在加載之後顯示你的Ui,並且之前有一些進度條,或者你可以使用片段 –

+0

如果你顯示[最小代碼重現問題],它會容易得多幫助(http://stackoverflow.com /幫助/ MCVE)。 –

回答

2

是的,只要您有應用程序上下文,就可以訪問SharedPreferences。

您不需要先調用onCreate()。

+0

請原諒我的無知,但我已經教會了自己如何做android應用程序,現在從firebase開始,所以我不確定應用程序上下文意味着什麼。 – mpanga

+0

然後跳到Firebase可能會把馬車放在馬前。 https://developer.android.com/reference/android/content/Context.html – SQLiteNoob

+0

我有actulally第一次使用MySQL數據庫,一旦我得到了這一點,我現在正在與firebase工作。這是我在想什麼。 private DatabaseReference root = FirebaseDatabase.getInstance()。getReference()。getRoot()。child(「Support」)。child(getApplicationContext()。getSharedPreferences(「ADFT_PREFS」,Context.MODE_PRIVATE))。getString(「namekey」,空值)); – mpanga

相關問題