2015.1.7,Android项目小案例,SharedPerFrences模仿腾讯QQ记住密码功能
来源:互联网 发布:怎么购买网站域名 编辑:程序博客网 时间:2024/05/04 03:48
//布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<EditText
android:id="@+id/et_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入用户名"/>
<EditText
android:layout_below="@+id/et_name"
android:id="@+id/et_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:password="true"
android:hint="请输入密码"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/et_password"
android:orientation="horizontal">
<CheckBox
android:id="@+id/cb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="记住密码"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="100dp"
android:onClick="click"
android:text="登陆"/>
</LinearLayout>
</RelativeLayout>
// 存储的工具类
package util;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.widget.Toast;
public class SaveData {
public static boolean savaData(Context context,String name,String pwd){
//保存到SharePreFrence中,保存成功返回 true,否则返回false;
//第一个参数是保存的共享参数的名字(自定义的)
//第二个参数是保存共享参数的格式(可追加,私有,可读可写。。。)
SharedPreferences SharedPreferences=context.getSharedPreferences("config", Context.MODE_APPEND);
Editor editor=SharedPreferences.edit();
editor.putString("userName", name);
editor.putString("userPwd", pwd);
editor.commit();
if(editor.commit()){
Toast.makeText(context, "数据保存成功", 0).show();
return true;
}else{
Toast.makeText(context, "数据保存失败", 0).show();
return false;
}
}
}
//界面代码
package com.example.class3_obj;
import util.SaveData;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Base64;
import android.view.Menu;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText mName,mPass;
private CheckBox mCb;
private String name;
private String pass;
private String encodePwd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mName=(EditText) findViewById(R.id.et_name);
mPass=(EditText) findViewById(R.id.et_password);
mCb=(CheckBox) findViewById(R.id.cb);
}
public void click(View v){
login();
}
public void login(){
name=mName.getText().toString().trim();
pass=mPass.getText().toString().trim();
encodePwd=new String(Base64.encode(pass.getBytes(), Base64.DEFAULT));
if(!TextUtils.isEmpty(name)&&!TextUtils.isEmpty(pass)){
}else{
Toast.makeText(this, "输入不能为空", 0).show();
}
SharedPreferences sharedPreferences=getSharedPreferences("config", MODE_APPEND);
String saveName=sharedPreferences.getString("userName", "");
String savePwd=sharedPreferences.getString("userPwd", "");
//解密
String jimiPwd=new String(Base64.decode(savePwd.getBytes(), Base64.DEFAULT));
//加密encodePwd=new String(Base64.encode(pass.getBytes(), Base64.DEFAULT));
if(name.equals(saveName)&&pass.equals("123456")){
Toast.makeText(this, jimiPwd+"", 0).show();
Toast.makeText(this, "登陆成功", 0).show();
CheckBoxIstrue();
}else{
Toast.makeText(this, "登陆失败", 0).show();
}
}
public void CheckBoxIstrue(){
if(mCb.isChecked()){
boolean flag=SaveData.savaData(this, name, encodePwd);
if(flag){
Toast.makeText(this, "已进入后台记录", 0).show();
}else{
Toast.makeText(this, "后台记录失败", 0).show();
}
}
}
@Override
protected void onStart() {
SharedPreferences sharedPreferences=getSharedPreferences("config", MODE_APPEND);
String saveName=sharedPreferences.getString("userName", "");
String savePwd=sharedPreferences.getString("userPwd", "");
mName.setText(saveName);
mPass.setText(savePwd);
super.onStart();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
- 2015.1.7,Android项目小案例,SharedPerFrences模仿腾讯QQ记住密码功能
- android模仿Twitter记住密码功能
- Android:用SharePreferences实现记住密码功能 (登陆案例)
- Android案例:通过SharePreferences实现记住密码功能
- Android 记住密码功能
- android :记住密码功能
- Android 记住密码功能
- 模仿QQ记住账号和密码的登陆与实现的android开发实例
- 实现类似QQ记住密码的功能
- 模仿登陆,记住密码
- Android—记住密码功能
- android 模仿qq登录界面EditText下拉框记住账号和密码 editText+popupwindow+sqlite方式实现(附源码)
- Android案例-用户登录记住密码
- Android SharedPreferences的轻量级数据存储类的使用 记住密码小案例
- Android实战简易教程-第三十八枪(模仿腾讯QQ的网络状态提示和设置功能实现)
- Android实战简易教程<三十八>(模仿腾讯QQ的网络状态提示和设置功能实现)
- 类似qq登陆 记住密码功能的实现
- 记住密码案例实现
- Android学习笔记十四.Android数据存储与IO.SD卡的读写实例
- ubuntu14.04 安装cuda6.5
- 我国人群疾病死亡谱变化:慢性肾病死亡率增加
- C#中使用DataContractSerializer反序列化多级xml
- 图的定义、广度搜索、深度搜索
- 2015.1.7,Android项目小案例,SharedPerFrences模仿腾讯QQ记住密码功能
- 实习明天开始咯
- linux file and directory
- Linux下VNC服务使用
- Java线程学习
- C++中 explicit 关键字
- 准确的SQL语句运行时间(效率)检测办法
- Oracle SQL性能优化
- 算法期末复习