登录注册并记住状态
来源:互联网 发布:2017淘宝避开同款教程 编辑:程序博客网 时间:2024/06/06 19:06
点击由此页面调到登录页面
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;@Overrideprotected 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);}@Overridepublic 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;@Overrideprotected 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);}@Overridepublic 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;@Overrideprotected 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(); } });}@Overridepublic void setTextName(String name) { et_name.setText(name);}@Overridepublic void setTextPass(String pass) { et_pass.setText(pass);}@Overridepublic String getTextName() { return et_name.getText().toString();}@Overridepublic 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();}@Overridepublic void login(String name, String pass) { NetUtils.getNetData();}@Overridepublic void saveUserInfo(String name, String pass) { editor.putString("name",name); editor.putString("pass",pass); editor.commit();}@Overridepublic 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();
}
- 登录注册并记住状态
- 登录注册并记住状态
- 记住登录状态
- 记住登录状态
- 用户登录并记住密码
- 记住登录状态的安全做法
- PHP 使用session记住登录状态
- PHP记住登录状态的安全做法
- jsp Cookie记住用户的登录状态
- PHP 使用cookie实现记住登录状态
- Session、Cookie 记住登录状态的实现
- checkbox选中并记住状态(分页)
- 第一天注册并登录
- 用Cookie实现登录功能并记住登录名
- iOS保存登录 第一次需账号密码登录,以后记住登录状态直接登录
- PHP安全编程:记住登录状态的安全做法
- PHP之cookie应用---记住我登录状态
- 自动登录、记住我(保存登陆状态)实现
- Spring定时任务的几种实现方式
- idea中调试时F8,F7失效等快捷键失效
- Mybatis学习(04)-SqlMapConfig配置文件
- 编写一个程序,能交换两个变量的数值 例如: 变量a值为20,变量b值为30,调用函数后,a的值变为30,b的值变为20
- Java垃圾回收机制
- 登录注册并记住状态
- Oc 百度语音的ios集成
- 数据结构实验之栈与队列八:栈的基本操作
- MyEclipse+Maven打可执行war包时遇到的一系列问题及解决方法详解
- 题目:JavaScript编程题 查找字符串"sdddrtkjsfkkkasjdddj"中出现次数最多的字符和次数。
- ios开发的常用的23种设计模式
- 中国剩余定理
- JVM内存组成及分配
- 计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换