我想问一下逻辑,首先要求用户填写个人资料表格,然后填写,然后定向到主要活动。关闭应用程序然后再次重新打开它后,不应首先启动配置文件活动,而应立即启动主要活动。我怎样才能做到这一点?我需要帮助。谢谢。
这是我到目前为止所尝试的:
private void doThread(){
Thread timer = new Thread(){
public void run(){
try{
sleep(5000); // sleeps/delays for 3 seconds
} // end try
catch(InterruptedException e){
e.printStackTrace();
}finally{
// this is going to create new intent activity for
// based on the action name (com.fps.ihealthfirst.IHEALTHFIRSACTIVITY)
boolean firstTime = mPreferences.getBoolean("user_prefs", true);
if (firstTime) {
Intent myProfile = new Intent( Disclaimer.this, Profile_Pref.class );
startActivity(myProfile);
}
else{
Intent openIHealthFirst = new Intent( "com.fps.iHealthFirst.IHEALTHFIRSTACTIVITY" );
startActivity( openIHealthFirst );
finish();
}
}// end finally
} // end run method
}; // end thread
timer.start();
}
答案 0 :(得分:0)
一种方法是将表单信息保存到SD卡,然后加载并检查信息,如果信息存在,那么您可以转到下一个活动。请查看此答案以获得解释。
另一种方法是检查主活动中的特定共享首选项,如果缺少该共享首选项,则再次启动单个运行活动。请查看以下答案以获得解释。
答案 1 :(得分:0)
根据您的选择,您可以选择将从配置文件表单收集的信息保存在数据库或SharedPreferences文件中。这部分是相当主观的,如果你已经在你的应用程序中使用了数据库,你可能会考虑它。
以下是在用户设置/输入个人资料详细信息后处理逻辑/流程的一些建议:
首先:如果您尚未使用启动画面,则必须考虑创建一个。这将为您提供一个小的缓冲时间来检查用户是否已输入他的个人资料详细信息。
第二:如果他没有,您可以打开个人资料表格 Activity
。如果在检查数据库或SharedPreferences
文件之后,您找到指示已填写表单的数据,则可以直接显示主要活动。
我个人认为,更倾向于使用SharedPreferences
执行此任务。
以下是一些开始使用SharedPreferences的教程:
http://android-er.blogspot.in/2011/01/example-of-using-sharedpreferencesedito.html
http://saigeethamn.blogspot.in/2009/10/shared-preferences-android-developer.html
http://myandroidsolutions.blogspot.in/2012/06/android-store-persistent-data-using.html
http://moorandroid.blogspot.in/p/shared-preferences-on-android.html
它们可能不是您的问题所特有的,但会为您提供保存价值的逻辑。检索保存的值非常简单。
希望这有任何帮助。
答案 2 :(得分:0)
你可以使用SharedPreferences
。我有同样的问题,答案很好here。看看吧。