android登录记住密码
2014-01-15 19:21
357 查看
网上的android登录记住密码有很多,刚开始做现在这个项目的时候就是参照网上做的。现在做个总结,以免以后忘记。
由于懒,第一次写技术博客。。。
先上登录页面的效果图:
项目工程结构:
java代码就3个类,登录页面、登录后主页面、注册页面,主要功能代码就在LoginActivity里了:
1、注册按钮监听:
点击登录页面上的注册按钮,跳转到注册页面,其实就是实现一个简单的activity间的跳转。
2、更多点击监听:
“更多”是一个线性布局,它响应的事件其实就是控制初始时隐藏的布局的显示或隐藏。根据记录的当前隐藏布局的状态值来判断是执行展开显示该布局,还是收缩隐藏该布局。
3、记住密码勾选框监听
savePwChb是控件勾选框,isChecked值表示是否勾选;sp是SharedPreferences的实例,用于存储一些键值对。
CHECKED_TAG键值对中的key,用于存储是否需要记住密码。
4、登录按钮监听:
为了方便测试,本例将用户名密码设为“123”或“456”,真实项目中应当从数据库中读取判断。若用户名、密码正确,先判断是否需要记住密码,若选择记住密码则向SharedPreferences中存入用户名、密码的值,并将CHECKED_TAG的值改为true。最后跳转到主界面,并通过Toast提示登录成功。
主要功能代码就是这些了。
记住密码登录示例的工程文件下载地址:http://download.csdn.net/detail/jackq28/6852571点击打开链接
由于懒,第一次写技术博客。。。
先上登录页面的效果图:
项目工程结构:
java代码就3个类,登录页面、登录后主页面、注册页面,主要功能代码就在LoginActivity里了:
1、注册按钮监听:
点击登录页面上的注册按钮,跳转到注册页面,其实就是实现一个简单的activity间的跳转。
/** * 注册按钮监听事件 */ private OnClickListener mRegisterOnClickListener = new OnClickListener() { public void onClick(View v) { Intent registerIntent = new Intent(LoginActivity.this,RegisterActivity.class); startActivity(registerIntent); } };
2、更多点击监听:
“更多”是一个线性布局,它响应的事件其实就是控制初始时隐藏的布局的显示或隐藏。根据记录的当前隐藏布局的状态值来判断是执行展开显示该布局,还是收缩隐藏该布局。
/** * 更多按钮监听事件 */ private OnClickListener viewMoreOnClickListener = new OnClickListener() { public void onClick(View v) { //判断更多选项展开或收起的状态 if(moreStatus == 0){ //将其展开 moreMenuLayout.setVisibility(View.VISIBLE); moreStatus = 1; moreImg.setImageResource(R.drawable.login_more); }else{ //将其收起 moreMenuLayout.setVisibility(View.GONE); moreStatus = 0; moreImg.setImageResource(R.drawable.login_more_up); } } };
3、记住密码勾选框监听
savePwChb是控件勾选框,isChecked值表示是否勾选;sp是SharedPreferences的实例,用于存储一些键值对。
CHECKED_TAG键值对中的key,用于存储是否需要记住密码。
/** * 记住密码监听事件 */ private OnCheckedChangeListener mSaveCheckBoxChangeListener = new OnCheckedChangeListener(){ @Override public void onCheckedChanged(CompoundButton buttonVew, boolean isChecked) { // TODO Auto-generated method stub if (savePwChb.isChecked()) { Log.i(TAG, "记住密码已选中"); sp.edit().putBoolean(CHECKED_TAG, true).commit(); }else { Log.i(TAG, "记住密码没有选中"); sp.edit().putBoolean(CHECKED_TAG, false).commit(); } }
4、登录按钮监听:
为了方便测试,本例将用户名密码设为“123”或“456”,真实项目中应当从数据库中读取判断。若用户名、密码正确,先判断是否需要记住密码,若选择记住密码则向SharedPreferences中存入用户名、密码的值,并将CHECKED_TAG的值改为true。最后跳转到主界面,并通过Toast提示登录成功。
/** * 登陆按钮监听事件 */ private OnClickListener mLoginOnClickListener = new OnClickListener() { public void onClick(View v) { //获取输入框值 userValue = userEdit.getText().toString(); pwValue = pwEdit.getText().toString(); //判断用户名密码是否正确 if((userValue.equals("123")&&pwValue.equals("123"))||(userValue.equals("456")&&pwValue.equals("456"))){ //判断是否需要记住密码 if(savePwChb.isChecked()){ //向记录密码的sp写入用户名、密码 Editor editor = sp.edit(); editor.putString(USER_TAG, userValue); editor.putString(PASSWORD_TAG, pwValue); editor.putBoolean(CHECKED_TAG, true); editor.commit();//提交,记录密码成功 } //跳转到主界面 Intent loginIntent = new Intent(LoginActivity.this,MainActivity.class); startActivity(loginIntent); Toast.makeText(LoginActivity.this, "登录成功", Toast.LENGTH_LONG).show(); }else{ Toast.makeText(LoginActivity.this, "用户名或密码错误", Toast.LENGTH_LONG).show(); } } };
主要功能代码就是这些了。
记住密码登录示例的工程文件下载地址:http://download.csdn.net/detail/jackq28/6852571点击打开链接
相关文章推荐
- google play v2支付修改 android:targetSdkVersion 这个大于11出现异常问题
- android 音乐频谱
- Android 基于google Zxing实现对手机中的二维码进行扫描 学习
- android 使用proguard 代码混淆后,出现异常 Missing type parameter.
- android多设备界面适配的利器:属性weight的妙用
- 为cardslib添加长按滑动删除(Android)
- Android: Fragment的相关问题
- Android 自定义View
- 一个android应用效果开发引发的惨案(android Home按键)
- Android 自定义View及其在布局文件中的使用示例
- android自定义属性 format类型
- Android-->XmlPullParser
- 新手Android开发之二:onclicklistener到底怎么用?
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- android摄像头(camera)之 V4L2编程中用到的各种结构体
- Android 和 iOS 应用程序开发对比 [持续更新]
- android:基础进阶二:Timer的使用
- activity_main.xml 要用 Android Common XML Editor打开,双击的方式直接跳转到浏览器了
- Android中的AnimationDrawable(图片动画)介绍及使用
- android-boostrap