学习视频之后自己操作时的笔记。

0.视频地址:http://www.imooc.com/video/3265

1.功能预览:

说明:1)输入错误用户名和密码,点击登录,弹出提示框“禁止登录”;

2)输入正确用户名和密码,点击登录,弹出提示框“登录成功”;

3)输入正确用户名和密码,并且勾选保存用户名,点击登录,弹出框显示“登录成功”,退出APP,再次打开,用户名已有。

2.具体布局:

activity_main.xml:

<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"
tools:context=".MainActivity" > <TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="16dp"
android:text="用户名:" /> <EditText
android:id="@+id/etuserName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/textView1"
android:layout_toRightOf="@+id/textView1"
android:ems="10" /> <TextView
android:id="@+id/aa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/etuserName"
android:text="密 码" /> <EditText
android:id="@+id/etuserPass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/etuserName"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/aa"
android:ems="10" > <requestFocus />
</EditText> <Button
android:id="@+id/btnLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/etuserPass"
android:layout_marginTop="62dp"
android:onClick="doClick"
android:text="登陆" /> <Button
android:id="@+id/btnCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnLogin"
android:layout_alignBottom="@+id/btnLogin"
android:layout_toRightOf="@+id/btnLogin"
android:onClick="doClick"
android:text="取消" /> <CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/btnCancel"
android:layout_below="@+id/etuserPass"
android:layout_marginTop="15dp"
android:checked="false"
android:text="保存用户名" /> </RelativeLayout>

3.MainActivity.java:

public class MainActivity extends Activity {
EditText etUserName,etUserPass;
CheckBox chk;
SharedPreferences pref;
Editor editor; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//绑定对应布局控件
etUserName=(EditText)findViewById(R.id.etuserName);
etUserPass=(EditText)findViewById(R.id.etuserPass);
chk=(CheckBox)findViewById(R.id.checkBox1);
pref=getSharedPreferences("UserInfo",MODE_PRIVATE);
editor=pref.edit();
String name=pref.getString("userName", ""); if(name==null){
chk.setChecked(false);
}else{
chk.setChecked(true);
etUserName.setText(name);
}
}
//为按钮添加响应
public void doClick(View v){
switch(v.getId()){
case R.id.btnLogin:
//转成字符串进行判断
String name=etUserName.getText().toString().trim();
String pass=etUserPass.getText().toString().trim();
if("admin".equals(name)&&"123456".equals(pass)){
if(chk.isChecked()){
//用户名与密码均正确且保存用户名确认框处于选,
//则保存数据并提交到数据库
editor.putString("userName", name);
editor.commit();
}else{
editor.remove("userName");
editor.commit();
}
//加信息提示框
Toast.makeText(MainActivity.this, "登录成功",
Toast.LENGTH_LONG).show();
}else{Toast.makeText(MainActivity.this, "禁止登录",
Toast.LENGTH_LONG).show();
}
break;
default:
break;
}
} }

用户登录保存数据实例(慕课笔记 使用SharedPreferences保存用户名)的更多相关文章

  1. Redis缓存Mysql模拟用户登录Java实现实例[www]

    Redis缓存Mysql模拟用户登录Java实现实例 https://jingyan.baidu.com/article/09ea3ede1dd0f0c0aede3938.html redis+mys ...

  2. JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  3. ubuntu14.04使用root用户登录桌面 分类: 学习笔记 linux ubuntu 2015-07-05 10:30 199人阅读 评论(0) 收藏

    ubuntu安装好之后,默认是不能用root用户登录桌面的,只能使用普通用户或者访客登录.怎样开启root用户登录桌面呢? 先用普通用户登录,然后切换到root用户,然后执行如下命令: vi /usr ...

  4. python实现用户登录、注册实例

    python面向函数式编程,模拟用户登录验证.注册的代码实现. 主要有以下两个文件: 1.user.txt文档文件,相当于数据库的用户信息表,主要是记录用户名和密码. 注意:1)此文档需要与.py文件 ...

  5. 使用SharePreferences存取数据(慕课笔记 )

    0.视频地址:http://www.imooc.com/video/3265 1.使用SharePreferences存取数据: public class MainActivity extends A ...

  6. Redis缓存Mysql模拟用户登录Java实现实例

    https://blog.csdn.net/suneclipse/article/details/50920396

  7. Android学习笔记-保存数据的实现方法2-SharedPreferences

    Android下,数据的保存,前面介绍过了,把数据保存到内存以及SD卡上,这次我们就介绍一下,更为常用的采用SharedPreferences的方式来保存数据, 1,得到SharedPreferenc ...

  8. Java基础:String类详解,案例用户登录实现,案例手机号截取实现,案例敏感词替换实现;StringBuilder类详解,StringBuilder和String相互转换,附练习案例.

    1.API 1.1 API概述-帮助文档的使用 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK ...

  9. DRF 商城项目 - 用户( 登录, 注册,登出,个人中心 ) 逻辑梳理

    用户登录 自定义用户登录字段处理 用户的登录时通过 手机号也可以进行登录 需要重写登录验证逻辑 from django.contrib.auth.backends import ModelBacken ...

随机推荐

  1. 解决Response输出时乱码

    Response ServletResponse – 通用的response提供了一个响应应该具有的最基本的属性和方法 | |- HttpServletResponse – 在ServletRespo ...

  2. LWIP的底层结构(物理层)

    LWIP的底层结构(物理层) 转自:http://bluefish.blog.51cto.com/214870/158418 我们前面讲到说是ip层的发送和接收都是直接调用了底层,也就是设备驱动层的函 ...

  3. 条款20.宁以pass-by-reference-to-const替换pass-by-vlaue

        缺省情况下c++以by value的方式传递对象至(或来自)函数.除非你另外指定,否则函数参数都是以实际实参的复件(副本)为初值,而调用端所获得的亦是函数返回值的一个复件.这些复件是由对象的c ...

  4. swfupload原理总结

    1.引入js(js内动态添加上传的文件并提交表单) 2.后台处理(将图片保存) 3.调用另一个js修改前台图片的地址(改为新的图片地址)

  5. 在GitHub上上传项目(转载)

    今天准备在GitHub第一次上传自己的项目,发现过程并不是太简单,在网上找了一个博客,写的很详细,结合着他的讲解成功上传了自己的项目. 结合着他的步骤和自己遇到的问题,做一个梳理,以便以后使用.(原博 ...

  6. python寻找小于给定值的最大质数

    # -*- utf-8 -*- # @Time: 2019-04-16 # @ Author: chen def prime(self, value): """判断是否为 ...

  7. codevs 3342绿色通道

    3342 绿色通道  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold

  8. Python学习笔记(随机数)

    random模块的作用是产生随机数. import random num = random.randint(1,100) random.randint(a, b)可以生成一个a到b间的随机整数,包括a ...

  9. Ubuntu16.04.2 LTS 64bit系统装机记录

    系统环境:Win10 + Ubuntu16.04.2 LTS 64bit(双系统)安装教程:Win10和Ubuntu16.04双系统安装详解(简书)以下为系统安装后所要进行的操作. 一.安装显卡驱动 ...

  10. csdn自动展开+去广告+净化剪切板+免登陆(如有侵权,立即删博)

    对于csdn的广告大家想必......又没钱充VIP,怎么办,下面是脚本源码: 重要的事说三遍:如有侵权,立即删除!如有侵权,立即删除!如有侵权,立即删除! // ==UserScript== // ...