登录注册并记住状态

点击由此页面调到登录页面 
public class HomeActivity extends FragmentActivity { 
List《Fragment》 list; 
ViewPager vp; 
RadioGroup rg; 
RadioButton rb1,rb2,rb3,rb4,rb5; 
Fragment_sy fragment_sy; 
Fragment_wt fragment_wt; 
Fragment_fl fragment_xx; 
Fragment_gwc fragment_gwc; 
Fragment_wd fragment_wd; 
SharedPreferences sp; 
boolean f; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_home); 
sp=getSharedPreferences(“flags”,MODE_PRIVATE); 
f = sp.getBoolean(“f”, false); 
rg = (RadioGroup) findViewById(R.id.rg); 
rb1 = (RadioButton) findViewById(R.id.rb1); 
rb2 = (RadioButton) findViewById(R.id.rb2); 
rb3 = (RadioButton) findViewById(R.id.rb3); 
rb4 = (RadioButton) findViewById(R.id.rb4); 
rb5 = (RadioButton) findViewById(R.id.rb5); 
rg.check(R.id.rb1); 
fragment_sy=new Fragment_sy(); 
fragment_wt=new Fragment_wt(); 
fragment_xx=new Fragment_fl(); 
fragment_gwc=new Fragment_gwc(); 
fragment_wd=new Fragment_wd(); 
showFrag(R.id.fl,fragment_sy,”fragment_sy”); 
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
@Override 
public void onCheckedChanged(RadioGroup radioGroup, int i) { 
switch (i) { 
case R.id.rb1: 
showFrag(R.id.fl,fragment_sy,”fragment_sy”); 
break; 
case R.id.rb2: 
showFrag(R.id.fl,fragment_wt,”fragment_wt”); 
break; 
case R.id.rb3: 
showFrag(R.id.fl,fragment_xx,”fragment_xx”); 
break; 
case R.id.rb4: 
showFrag(R.id.fl,fragment_gwc,”fragment_gwc”); 
if(f){ 
Toast.makeText(HomeActivity.this,”进入购物车”,Toast.LENGTH_SHORT).show(); 
}else{ 
Intent intent = new Intent(HomeActivity.this, LoginActivity.class); 
startActivity(intent); 

break; 
case R.id.rb5: 
showFrag(R.id.fl,fragment_wd,”fragment_wd”); 
if(f){ 
Toast.makeText(HomeActivity.this,”进入我的”,Toast.LENGTH_SHORT).show(); 
}else{ 
Intent intent1 = new Intent(HomeActivity.this, LoginActivity.class); 
startActivity(intent1); 

break; 
default: 
break; 


}); 

private void showFrag(int id,Fragment frag,String tag){ 
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
Fragment fragment = getSupportFragmentManager().findFragmentByTag(tag); 
if(fragment==null){ 
transaction.add(id,frag,tag); 

List list=getSupportFragmentManager().getFragments(); 
for(Fragment f:list){ 
transaction.hide(f); 

transaction.show(frag); 
transaction.commit(); 

private long exitTime = 0; 
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
if (keyCode == KeyEvent.KEYCODE_BACK 
&& event.getAction() == KeyEvent.ACTION_DOWN) { 
if ((System.currentTimeMillis() - exitTime) > 2000) { 
Toast.makeText(HomeActivity.this,”再按一次退出程序”,Toast.LENGTH_SHORT).show(); 
exitTime = System.currentTimeMillis(); 
} else { 
finish(); 
System.exit(0); 

return true; 

return super.onKeyDown(keyCode, event); 
}

登录页面 
public class LoginActivity extends AppCompatActivity implements View.OnClickListener {

private Button mLoginBtn;
private Button mZhuceBtn;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);
    initView();

}

private void initView() {
    mLoginBtn = (Button) findViewById(R.id.btn_login);
    mLoginBtn.setOnClickListener(this);
    mZhuceBtn = (Button) findViewById(R.id.btn_zhuce);
    mZhuceBtn.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.btn_login:
            Intent intent = new Intent(LoginActivity.this,MainActivity.class);
            startActivity(intent);
            break;
        case R.id.btn_zhuce:
            // TODO 17/10/20
            Intent intent1 = new Intent(LoginActivity.this,ZhuceActivity.class);
            startActivity(intent1);
            break;
        default:

            break;
    }
}

}

注册页面 
public class ZhuceActivity extends AppCompatActivity implements View.OnClickListener {

private EditText mPhoneEt;
private EditText mPassEt;
private EditText mPass2Et;
private Button mZhuceBtn;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_zhuce);
    initView();


}

private void initView() {
    mPhoneEt = (EditText) findViewById(R.id.et_phone);
    mPassEt = (EditText) findViewById(R.id.et_pass);
    mPass2Et = (EditText) findViewById(R.id.et_pass2);
    mZhuceBtn = (Button) findViewById(R.id.btn_zhuce);
    mZhuceBtn.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.btn_zhuce:
            // TODO 17/10/20
            String phone = mPhoneEt.getText().toString();
            String pass = mPassEt.getText().toString();
            String pass2 = mPass2Et.getText().toString();

            CommonUser.userInfo=new UserInfo(phone,pass);
            Log.i("========", ""+CommonUser.userInfo.getName()+CommonUser.userInfo.getPass());
            Intent intent = new Intent(ZhuceActivity.this,LoginActivity.class);
            startActivity(intent);
            break;
        default:
            break;
    }
}

}

登录Presenter 
public class LoginPresenter { 
IUserLoginModel model; 
IUserLoginView view; 
Context context; 
SharedPreferences sp; 
SharedPreferences.Editor editor; 
boolean flag=false; 
public LoginPresenter(IUserLoginView view, Context context) { 
this.view = view; 
this.context = context; 
model = new UserLoginModel(context); 
sp=context.getSharedPreferences(“flags”,context.MODE_PRIVATE); 
editor = sp.edit(); 

public void showUserInfo(){ 
UserInfo info = model.getUserInfo(); 
view.setTextName(info.getName()); 
view.setTextPass(info.getPass());

}
public void savaUserInfo(){
    String name = view.getTextName();
    String pass = view.getTextPass();
    model.saveUserInfo(name,pass);
}
public void login(){
    final String name = view.getTextName();
    final String pass = view.getTextPass();
    final String name1 = CommonUser.userInfo.getName();
    final String pass1 = CommonUser.userInfo.getPass();
    Log.i("---------", "login: "+name1.toString()+pass1.toString());

    if(name.equals("")||pass.equals("")){
        Toast.makeText(context,"用户名或密码不能为空!",Toast.LENGTH_SHORT).show();
        return;
    }else if(!name.equals(name1)&&!pass.equals(pass1) ){
        Toast.makeText(context,"用户名或密码错误!",Toast.LENGTH_SHORT).show();
        return;
    }else {
        new AsyncTask<String ,String,String >(){

            @Override
            protected String doInBackground(String... strings) {
                return null;
            }
            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                model.saveUserInfo(pass1, name1);
                Toast.makeText(context,"登陆成功",Toast.LENGTH_SHORT).show();
                flag=true;
                editor.putBoolean("f",true);
                editor.commit();
                Intent intent = new Intent(context, HomeActivity.class);
                context.startActivity(intent);
            }
        }.execute();
    }

}

}

主页面 
public class MainActivity extends AppCompatActivity implements IUserLoginView{

Button btn;
EditText et_name,et_pass;
LoginPresenter presenter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_main);
    btn= (Button) findViewById(R.id.btn);
    et_name = (EditText) findViewById(R.id.et_name);
    et_pass = (EditText) findViewById(R.id.et_pass);
    presenter = new LoginPresenter(this,this);
    presenter.showUserInfo();
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            presenter.login();

        }
    });
}

@Override
public void setTextName(String name) {
    et_name.setText(name);
}

@Override
public void setTextPass(String pass) {
    et_pass.setText(pass);
}

@Override
public String getTextName() {

    return et_name.getText().toString();
}

@Override
public String getTextPass() {
    return et_pass.getText().toString();
}

}

Model

public interface IUserLoginModel { 
public void login(String name,String pass); 
public void saveUserInfo(String name,String pass); 
public UserInfo getUserInfo(); 
}

public class UserLoginModel implements IUserLoginModel{ 
Context context; 
SharedPreferences sp; 
SharedPreferences.Editor editor;

public UserLoginModel(Context context){
    this.context = context;
    sp=context.getSharedPreferences("user",Context.MODE_PRIVATE);
    editor = sp.edit();
}
@Override
public void login(String name, String pass) {
    NetUtils.getNetData();

}

@Override
public void saveUserInfo(String name, String pass) {
    editor.putString("name",name);
    editor.putString("pass",pass);
    editor.commit();
}

@Override
public UserInfo getUserInfo() {
    String name = sp.getString("name","");
    String pass = sp.getString("pass","");
    UserInfo user = new UserInfo(name,pass);
    return user;
}

}

View 
public interface IUserLoginView { 
public void setTextName(String name); 
public void setTextPass(String pass); 
public String getTextName(); 
public String getTextPass(); 
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值