2017-04-05 61 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;