Android检查用户login之前,否则启动login活动

我想要login活动启动时,用户启动应用程序,但尚未login之前。 如果之前已经完成成功的login,应用程序将跳过login页面并移至MainMenu.java。 我现在拥有的是:

public class Login extends Activity implements OnClickListener, TaskCompleteCallback{ first_time_check(); ... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.configure); ...} private boolean first_time_check() { String first = mPreferences.getString("first", null); if((first == null)){ Intent i = new Intent(Login.this, MainMenu.class); startActivity(i); } return false; } ... SharedPreferences.Editor editor = mPreferences.edit(); editor.putString("first", value); ... editor.commit(); // Close the activity Intent i = new Intent(Login.this, MainMenu.class); startActivity(i); } 

但我得到function界别'。 我如何实现SharedPreferences有什么问题?

您的代码永远不会调用first_time_check() ,因此在返回用户的情况下自动转发不起作用。

你可以在onCreate()

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); first_time_check(); setContentView(R.layout.configure); ...} 

所以对于一个新用户, first_time_check()会将他转发到login页面,否则当前的布局会显示出来,他可以继续在这个页面上。

您正在使用共享首选项。 那很好。

这个链接中有一个小例子。 这可能会解决这个问题。

http://developer.android.com/guide/topics/data/data-storage.html

基本上,我没有看到你读取存储的值。 你正在存储它,然后提交它。 但是你没有阅读代码。 只有当你阅读它时,你才能决定哪个活动必须启动。 你必须调用first_time_check()来解决这个问题。

希望我能帮助你。

您可以在onSaveInstanceState()方法中详细保存日志,然后在重新启动活动时将其恢复。 例如在onRestore()里面。

这可以通过两种方式来完成。 一个是将它们存储在全局variables中,另一个是将数据存储在共享首选项中。 看到这个例子。