2017-04-05 62 views
0

所以我正在爲android創建一個聊天應用程序,而且我正在使用Java,並且我需要一些幫助來包裝我的頭部。每當用戶首次註冊時,我都會創建一個名爲User的類的新對象。當他們進入下一個佈局時,我需要訪問該對象數據。訪問已經創建了相同類的對象Android

public class User { 
public String username; 
public User() {} 

public User(String username) { 
    this.username = username; 
} 

public String getUsername(){ 
    return username; 
    } 
} 

這是我的用戶類。當他們發送消息時,我需要能夠通過完全不同的方法從該User對象中獲取其用戶名,而無需通過參數傳遞對象。我似乎無法圍繞如何訪問他們的信息,而我的方法似乎沒有任何工作。任何幫助表示讚賞

+0

在您的實現中使用單例設計模式。 –

+0

通常在Android中,用戶名將在登錄時存儲在SharedPreferences中,該用戶名將用戶名存儲到磁盤,並且可以從代碼中的任意位置訪問。 –

+0

所以它通常不會存儲在一個類中?使用SharedPreferences,您是否將用戶名保存在每個用戶的密鑰下? –

回答

0

我通過使用SharedPreferences解決了這個問題。我存儲了與每個用戶的密鑰關聯的用戶名。這樣,我總是可以搜索每個用戶的用戶名。

0

如果你

User myUser = new User(); 

變量myUser包含對新創建的對象的引用。您必須保留此引用以便稍後訪問該對象。你如何做到這一點取決於你的程序的邏輯。有時你會將它保存在另一個對象的字段中,或者將它作爲參數傳遞。例如

un = myUser.getUsername(); 

void myMethod(User theUser) { 
    ... 
    String un = theUser.getUsername(); 
} 

... 

// call the method passing the user reference 
myMethod(myUser); 
+0

對不起。我將編輯我的問題。該對象的方法完全不同,我無法通過參數傳遞該對象。它基本上從應用程序的其餘部分中移除。 –

0
在主類

使數據對象...靜態

公共靜態模型OBJ; obj = new Model(); 然後從其他類訪問它與您的類名稱

示例 main.obj;