android程序跳过登录,Android:程序跳过登录界面直接进入主界面(自动登录)

首先是欢迎界面的代码

public class WelcomeActivity extends Activity{

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.welcome);

/**

* 延迟3秒进入主界面

*/

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

Intent intent=new Intent(WelcomeActivity.this,LoginActivity.class);

startActivity(intent);

WelcomeActivity.this.finish();

}

},1000*3);

}

}

接下来是文章的主要内容。实现自动登录的关键是当程序从欢迎界面跳转到登录界面是,在登录界面还没有加载布局文件时判断是否登陆过,从而实现直接跳转到主界面。这里我们采用SharedPreferences来保存登录状态。代码如下:

public class LoginActivity extends Activity{

SharedPreferences sprfMain;

SharedPreferences.Editor editorMain;

Button login;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//在加载布局文件前判断是否登陆过

sprfMain= PreferenceManager.getDefaultSharedPreferences(this);

editorMain=sprfMain.edit();

//.getBoolean("main",false);当找不到"main"所对应的键值是默认返回false

if(sprfMain.getBoolean("main",false)){

Intent intent=new Intent(LoginActivity.this,MainActivity.class);

startActivity(intent);

LoginActivity.this.finish();

}

setContentView(R.layout.login);

login= (Button) findViewById(R.id.login);

//这里只是简单用按键模拟登录功能

login.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent=new Intent(LoginActivity.this,MainActivity.class);

editorMain.putBoolean("main",true);

editorMain.commit();

startActivity(intent);

LoginActivity.this.finish();

}

});

}

}

接下来是实现注销后要重新进入登录界面

public class MainActivity extends AppCompatActivity {

SharedPreferences sprfMain;

SharedPreferences.Editor editorMain;

Button exit;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

exit= (Button) findViewById(R.id.exit);

exit.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//点击注销按键后调用LoginActivity提供的resetSprfMain()方法执行editorMain.putBoolean("main",false);,即将"main"对应的值修改为false

resetSprfMain();

Intent intent=new Intent(MainActivity.this,WelcomeActivity.class);

startActivity(intent);

MainActivity.this.finish();

}

});

}

public void resetSprfMain(){

sprfMain= PreferenceManager.getDefaultSharedPreferences(this);

editorMain=sprfMain.edit();

editorMain.putBoolean("main",false);

editorMain.commit();

}

}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值