SharedPreference方面的内容还算是比较简单易懂的,在此还是主要贴上效果与代码,最后也是附上源码。

 

首先是输入账号admin,密码123,选择记住密码登陆。

登陆后就直接跳转页面。

 

android SharedPreference的简单使用(登陆界面记住密码)_第1张图片         android SharedPreference的简单使用(登陆界面记住密码)_第2张图片

 

 

 

随后再次打开app可以发现已经记住了密码。

 

如果输错了密码,或者在登陆的时候没有选择记住密码,那么会将SharedPreference的文件清空,再次登陆后又会是空的EditText。

 

android SharedPreference的简单使用(登陆界面记住密码)_第3张图片       android SharedPreference的简单使用(登陆界面记住密码)_第4张图片

 

 

 

MainActivity:

 

import android.app.Activity;import android.content.Intent;import android.content.SharedPreferences;import android.preference.PreferenceManager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.Window;import android.widget.Button;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity {    //使用SharedPreferences进行读取    private SharedPreferences pref;    //使用SharedPreferences.Editor进行存储    private SharedPreferences.Editor editor;    private Button button;    private CheckBox checkbox;    private EditText accountEdit;    private EditText passwordEdit;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //取消标题        requestWindowFeature(Window.FEATURE_NO_TITLE);        setContentView(R.layout.activity_main);        //制定SharedPreference的文件名为data        pref= getSharedPreferences("data",MODE_PRIVATE);        editor=pref.edit();        accountEdit=(EditText)findViewById(R.id.account);        passwordEdit=(EditText)findViewById(R.id.password);        checkbox=(CheckBox)findViewById(R.id.remember_password);        button=(Button)findViewById(R.id.button);        //查看app中是否已经存储过账号密码,有的话就直接显示出来        boolean isRemember=pref.getBoolean("remember_password",false);        if(isRemember){            String account=pref.getString("account","");            String password=pref.getString("password","");            accountEdit.setText(account);            passwordEdit.setText(password);            checkbox.setChecked(true);        }        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                String account=accountEdit.getText().toString();                String password=passwordEdit.getText().toString();                //此处设置的账号为“admin”,密码为“123”                if(account.equals("admin")&&password.equals("123")){                    //如果记住密码被选中,那么就将账号密码存储起来                    //如果没有被选中,那么将存储的账号密码清空                    if(checkbox.isChecked()){                        editor.putBoolean("remember_password",true);                        editor.putString("account",account);                        editor.putString("password",password);                    }else{                        editor.clear();                    }                    //最后千万不要忘记使用commit将添加的数据提交                    editor.commit();                    //简单的跳转界面                    Intent intent=new Intent(MainActivity.this,NextActivity.class);                    startActivity(intent);                    finish();                }else{                    //如果账号密码错误,就跳出toast提示,并且清空存储的账号密码                    Toast.makeText(MainActivity.this,"账号或密码错误!",Toast.LENGTH_LONG).show();                    editor.clear();                    editor.commit();                }            }        });    }}

 

 

 

activity_main:

 

                                                                                    

 


NextActivity:

 

 

 

import android.app.Activity;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.Window;public class NextActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        requestWindowFeature(Window.FEATURE_NO_TITLE);        setContentView(R.layout.activity_next);    }}

 

 

 

 

 

activity_next:

 

<?xml version="1.0" encoding="utf-8"?>    

 

 

 

 

 

最后附上源码:http://download.csdn.net/detail/double2hao/9197819

更多相关文章

  1. android使用ImageView加载本地SdCard图片和加载网络图片
  2. android账号与同步之账号管理
  3. Android OpenCV实现图片叠加,水印
  4. Android 关于GridView 以及图片处理一些知识
  5. 【Android】一个浏览图片的Android库的实现,可以移动、缩放图片以
  6. 【Android】图片(文件)上传的请求分析结构
  7. Android通过WebService实现图片的上传和下载(一)
  8. Android 中图片压缩分析(上)
  9. Android 常用图片框架对比

随机推荐

  1. Android(安卓)10 获取剪切板内容
  2. Android(安卓)cannot access localhost?
  3. Android的深層之美
  4. Android Framework分析 ---- 1消息处理机
  5. android -- FileObserver 类用法及限制
  6. location of android sdk has not been s
  7. linux和windows平台下下载android sdk的
  8. You need to use a Theme.AppCompat them
  9. Android.mk编译脚本 & AndroidManifest.x
  10. android之【RelativeLayout布局】