Android存储方式有很多种,在这里所用的存储方式是SharedPreferrences, 其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入。所以比较适合我们今天做的这个项目。我们来看一下运行图:
一.布局界面
1.login_top.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/activity_horizontal_margin" android:background="@drawable/logintop_roundbg"> <EditText android:id="@+id/etName" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:drawablePadding="10dp" android:background="@android:drawable/edit_text" android:drawableLeft="@drawable/icon_user" android:hint="@string/etName"> <requestFocus></requestFocus> </EditText> <EditText android:id="@+id/etPassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/etName" android:inputType="textPassword" android:ems="10" android:drawablePadding="10dp" android:background="@android:drawable/edit_text" android:drawableLeft="@drawable/icon_pass" android:hint="@string/etpassword"> <requestFocus></requestFocus> </EditText> <CheckBox android:id="@+id/cbremenber" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/etPassword" android:text="@string/cbpass"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/cbremenber"> <Button android:id="@+id/btnlogin" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/btnselect" android:text="@string/btnlogin" android:onClick="login"/> <Button android:id="@+id/btnRegister" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/btnselect" android:text="@string/btnRegister" android:layout_marginLeft="10dp"/> </LinearLayout> </RelativeLayout>
2.activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/loginbg" tools:context="cn.edu.bzu.logindemo.MainActivity"> <include layout="@layout/login_top"></include> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/deer" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> </RelativeLayout>
3.activity_welcome.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_welcome" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="cn.edu.bzu.logindemo.WelcomeActivity"> <TextView android:id="@+id/tvwelcome" android:text="Welcome you" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="200dp" android:textSize="40sp" /> </RelativeLayout>
二.MainActivity
public class MainActivity extends AppCompatActivity {
private EditText etName;
private EditText etPassword;
private SharedPreferences sharedPreferences;
private CheckBox cbremenber;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
sharedPreferences=getSharedPreferences("remenberpassword", Context.MODE_PRIVATE);
boolean isRemember=sharedPreferences.getBoolean("remenberpassword",false);
if(isRemember) {
String name = sharedPreferences.getString("name", "");
String password = sharedPreferences.getString("password", "");
etName.setText(name);
etPassword.setText(password);
cbremenber.setChecked(true);
}
}
private void initViews() {
etName=(EditText) findViewById(R.id.etName);
etPassword=(EditText) findViewById(R.id.etPassword);
cbremenber=(CheckBox)findViewById(R.id.cbremenber);
}
public void login(View view){
String name=etName.getText().toString();
String password=etPassword.getText().toString();
if("admin".equals(name)&&"123456".equals(password)){
SharedPreferences.Editor editor= sharedPreferences.edit();
if(cbremenber.isChecked()){
editor.putBoolean("remenberpassword",true);
editor.putString("name",name);
editor.putString("password",password);
}else {
editor.clear();
}
editor.commit();
Intent intent=new Intent(this,WelcomeActivity.class);
startActivity(intent);
finish();
}else {
Toast.makeText(this,"账号或密码有误",Toast.LENGTH_LONG).show();
}
}
}
三.WelcomeActivity
public class WelcomeActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
}
}
以上所述是小编给大家介绍的Android 使用SharedPreferrences储存密码登录界面记住密码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# android
# sharedpreferrence
# 登录界面记住密码
# Android实现记住密码功能
# Android SharedPreferences实现记住密码和自动登录
# Android开发笔记SQLite优化记住密码功能
# Android实现用户登录记住密码功能
# Android sharedPreferences实现记住密码功能
# Android实现登录界面记住密码的存储
# Android SharedPreferences实现记住密码和自动登录界面
# Android实现带有记住密码功能的登陆界面
# Android通过记住密码功能学习数据存储类SharedPreferences详解及实例
# Android实现登陆界面的记住密码功能
# 小编
# 在这里
# 在此
# 数据结构
# 给大家
# 采用了
# 所述
# 给我留言
# 感谢大家
# 键值
# 疑问请
# 有任何
# 有很多种
# edit_text
# drawablePadding
# dp
# drawableLeft
# string
# requestFocus
# icon_user
相关文章:
Swift中循环语句中的转移语句 break 和 continue
创业网站制作流程,创业网站可靠吗?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
制作网站的软件免费下载,免费制作app哪个平台好?
音响网站制作视频教程,隆霸音响官方网站?
建站主机CVM配置优化、SEO策略与性能提升指南
广东企业建站网站优化与SEO营销核心策略指南
想学网站制作怎么学,建立一个网站要花费多少?
家庭建站与云服务器建站,如何选择更优?
如何通过虚拟主机快速完成网站搭建?
C#如何序列化对象为XML XmlSerializer用法
潮流网站制作头像软件下载,适合母子的网名有哪些?
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
建站主机选虚拟主机还是云服务器更好?
装修招标网站设计制作流程,装修招标流程?
如何基于云服务器快速搭建个人网站?
如何用景安虚拟主机手机版绑定域名建站?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
建站主机系统SEO优化与智能配置核心关键词操作指南
制作网站的模板软件,网站怎么建设?
音乐网站服务器如何优化API响应速度?
建站org新手必看:2024最新搭建流程与模板选择技巧
如何在腾讯云服务器快速搭建个人网站?
C++中引用和指针有什么区别?(代码说明)
,巨量百应是干嘛的?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
宝塔建站无法访问?如何排查配置与端口问题?
h5在线制作网站电脑版下载,h5网页制作软件?
微信h5制作网站有哪些,免费微信H5页面制作工具?
建站主机如何选?性能与价格怎样平衡?
如何快速生成可下载的建站源码工具?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
如何用狗爹虚拟主机快速搭建网站?
如何通过智能用户系统一键生成高效建站方案?
定制建站流程解析:需求评估与SEO优化功能开发指南
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
建站主机服务器选型指南与性能优化方案解析
大连网站设计制作招聘信息,大连投诉网站有哪些?
,有什么在线背英语单词效率比较高的网站?
移民网站制作流程,怎么看加拿大移民官网?
宝塔建站后网页无法访问如何解决?
建站之星展会模版如何一键下载生成?
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何在万网自助建站中设置域名及备案?
如何高效完成独享虚拟主机建站?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
建站之星如何快速生成多端适配网站?
代购小票制作网站有哪些,购物小票的简要说明?
*请认真填写需求信息,我们会在24小时内与您取得联系。