在我的Android应用程序中保持用户名

问题描述:

我正在创建一个简单的登录应用程序。当成功的。在这里,我从Login Page通过发送意向用户名登录Second Page后,将显示用户名如下在我的Android应用程序中保持用户名

String sendusername=results; 
      Intent inte=new Intent(Login.this,SubmitActivity.class); 
      inte.putExtra("displayusername", sendusername); 
      startActivity(inte); 

接收意图在第二页,如下所示:

Intent inte=getIntent(); 
    final String Username=inte.getStringExtra("displayusername"); 

我显示这个值在TextView。但是,这里的问题是在我回到第二页时移动到前进页面后的一次,它显示null值代替了用户名。任何人都可以给我一个关于这个的想法吗?

看看使用SharedPreferences。这是Android应用程序中最接近全局数据的东西。

要保存useername:

SharedPreferences prefs = context.getSharedPreferences("myPrivateData", 
    PreferenceActivity.MODE_PRIVATE); 
SharedPreferences.Editor editor = prefs.edit(); 
editor.putString("username", username); 
editor.commit(); 

,并读取用户名:

SharedPreferences prefs = context.getSharedPreferences("myPrivateData", 
    PreferenceActivity.MODE_PRIVATE); 
username = prefs.getString("username", null); // where null is the default 

并确保您清楚当你的应用程序第一次启动此设置。

+0

thanq EJk.but它要求我创建上下文变量..任何想法 – kalyan 2013-02-27 13:43:34

+0

是的,这是一个对an​​droid.content.Context的引用。活动是上下文,因此您可以传递当前活动(即“this”)。看到http://developer.android.com/reference/android/content/Context.html – EJK 2013-02-27 13:48:16

+0

thanq EJK..it完美的工作:) – kalyan 2013-02-27 13:59:20

登录后,您可以将用户名保存在共享首选项中,并且当您希望获得用户名时即可。

对我来说最好的方法就是使用Application类。

请参阅Android文档在这里:

http://developer.android.com/reference/android/app/Application.html

并检查了这个帖子:

Using the Android Application class to persist data

当你需要更多的变量,你可以简单地将它们添加到这个类,基本上使用他们来自任何你想要的地方。