在我的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
并确保您清楚当你的应用程序第一次启动此设置。
答
登录后,您可以将用户名保存在共享首选项中,并且当您希望获得用户名时即可。
答
对我来说最好的方法就是使用Application类。
请参阅Android文档在这里:
http://developer.android.com/reference/android/app/Application.html
并检查了这个帖子:
Using the Android Application class to persist data
当你需要更多的变量,你可以简单地将它们添加到这个类,基本上使用他们来自任何你想要的地方。
thanq EJk.but它要求我创建上下文变量..任何想法 – kalyan 2013-02-27 13:43:34
是的,这是一个对android.content.Context的引用。活动是上下文,因此您可以传递当前活动(即“this”)。看到http://developer.android.com/reference/android/content/Context.html – EJK 2013-02-27 13:48:16
thanq EJK..it完美的工作:) – kalyan 2013-02-27 13:59:20