android studio实现记住密码,Andriod Studio实现保存QQ密码功能(案例代码详解)
对于QQ登录时保存账号和密码的功能,不仅文件存储能够实现,SharePreferences同样也可以实现,而且SharedPreferences存取数据更加简单方便。因此可以用该方法实现保存Q密码的案例,具体步骤如下:
创建布局类
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.kh11.MainActivity">
android:id="@+id/iv"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:background="@drawable/touxiang"/>
android:id="@+id/ll_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/iv"
android:layout_centerVertical="true"
android:layout_marginBottom="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="15dp"
android:background="#ffffff">
android:id="@+id/tv_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="账号:"
android:textColor="#000"
android:textSize="20sp"/>
android:id="@+id/et_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:background="@null"
android:padding="10dp"/>
android:id="@+id/ll_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/ll_number"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="#ffffff">
android:id="@+id/tv_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="密码:"
android:textColor="#000"
android:textSize="20sp"/>
android:id="@+id/et_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:background="@null"
android:inputType="textPassword"
android:padding="10dp"/>
android:id="@+id/btn_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/ll_password"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="50dp"
android:background="#3C8DC4"
android:text="登录"
android:textColor="#ffffff"
android:textSize="20sp"/>
创建工具类
package cn.itcast.saveqq;
import android.content.Context;
import android.content.SharedPreferences;
import java.util.HashMap;
import java.util.Map;
public class SPSaveQQ {
public static boolean saveUserInfo(Context context,String number,String password){
SharedPreferences sp = context.getSharedPreferences("data",Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
edit.putString("userName",number);
edit.putString("pwd", password);
edit.commit();
return true;
}
public static Map getUserInfo(Context context){
SharedPreferences sp = context.getSharedPreferences("data",Context.MODE_PRIVATE);
String number = sp.getString("userName", null);
String password = sp.getString("pwd", null);
Map userMap = new HashMap();
userMap.put("number",number);
userMap.put("password",password);
return userMap;
}
}
编写界面交互代码
package com.example.kh11;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.util.Map;
import cn.itcast.saveqq.SPSaveQQ;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private EditText etNumber;
private EditText etPassword;
private Button btnLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化界面
initView();
Map userInfo = SPSaveQQ.getUserInfo(this);
if(userInfo != null){
etNumber.setText(userInfo.get("number"));
etPassword.setText(userInfo.get("password"));
}
}
private void initView(){
etNumber = (EditText) findViewById(R.id.et_number);
etPassword = (EditText) findViewById(R.id.et_password);
btnLogin = (Button) findViewById(R.id.btn_login);
//设置按钮的点击事件
btnLogin.setOnClickListener(this);
}
@Override
public void onClick(View v) {
//当单机登录按钮时,获取QQ账号和密码
String number = etNumber.getText().toString().trim();
String password = etPassword.getText().toString();
//检验账号和密码是否正确
if(TextUtils.isEmpty(number)){
Toast.makeText(this,"请输入QQ账号",Toast.LENGTH_SHORT).show();
return;
}
if(TextUtils.isEmpty(password)){
Toast.makeText(this,"请输入密码",Toast.LENGTH_SHORT).show();
return;
}
//登陆成功
Toast.makeText(this,"登陆成功",Toast.LENGTH_SHORT).show();
//保存用户信息
boolean isSaveSuccess = SPSaveQQ.saveUserInfo(this,number,password);
if(isSaveSuccess){
Toast.makeText(this,"保存成功",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this,"保存失败",Toast.LENGTH_SHORT).show();
}
}
}
运行程序
程序运行成功后,在界面输入账号和密码,单击登录按钮,会弹出“登陆成功”和“保存成功”字样,数据信息会保存在SharedPreferences中,可以在data.xml文件中查看保存的数据信息。
运行结果如图:
(这个上传的图片怎么改尺寸,真的太丑了。。。)
总结
到此这篇关于Andriod Studio实现保存QQ密码功能的文章就介绍到这了,更多相关android studio 保存qq 密码内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
android studio实现记住密码,Andriod Studio实现保存QQ密码功能(案例代码详解)相关推荐
- Android 保存QQ密码(数据存储:文件存储、SharedPreferences)
源码[工程文件]:https://gitee.com/lwx001/saveQQ MainActivity.java: package cn.lwx.saveqq;import android.os. ...
- Android开发保存QQ密码
Android开发保存QQ密码 技术要点: 使用文件储存的方式保存数据 实现步骤 ①用户交互界面的设计与实现 ②工具类(FileSaveQQjava )的设计与实现 ③界面逻辑代码的设计与实现 页面布 ...
- 基于百度地图实现Android定位功能实现(详解+教程)
基于百度地图实现Android定位功能实现(详解+教程) 1.初始化 (一)获取到SHA1 (1)找到View中的Tool Windows并打开Terminal (2)找到你的jdk的bin目录,小编 ...
- Android实战:CoolWeather酷欧天气(加强版数据接口)代码详解(上)
-----------------------------------该文章代码已停更,可参考浩比天气(更新于2019/6/25)----------------------------------- ...
- Android自动化测试环境部署及adb sdkmanager avdmanager Monitor DDMS工具使用及命令详解
环境部署及工具使用 系列文章 前言 环境部署 硬件环境 软件环境 ADB工具 adb组成 adb命令 android命令 sdkmanager 命令 avdmanager命令 管理模拟器 monito ...
- 实战演练——保存QQ密码
保存QQ密码 创建程序 创建一个名为SaveQQ的应用程序,指定包名为cn.itcast.saveqq,设计用户交互界面,登录界面(activity_main.xml)代码: <?xml ver ...
- python sqlsever 时间_Python sqlalchemy时间戳及密码管理实现代码详解
一.时间戳 实际开发中,我们一般希望create_time和update_time这两个属性能自动设置,所以在建表的时候需要在model上特殊处理一下: from sqlalchemy.sql imp ...
- android生命周期_Android开发 View的生命周期结合代码详解
咱们以TextView控件为例: /** * Created by SunshineBoy on 2020/9/23. */ public class TestTextView extends and ...
- android收藏功能demo,Android使用Realm数据库实现App中的收藏功能(代码详解)
前 言 App数据持久化功能是每个App必不可少的功能,而Android最常用的数据持久化方式主要有以下的五种方式: 使用SharedPreferences存储数据: 文件存储数据: SQLite数据 ...
- Android AR开发实践之七:OpenGLES相机预览背景绘制源码详解
Android AR开发实践之七:OpenGLES相机预览背景绘制源码详解 目录 Android AR开发实践之七:OpenGLES相机预览背景绘制源码详解 一.OpenGL ES渲染管线 1.基本处 ...
最新文章
- C语言经典例61-杨辉三角
- 大龄开发人员如何破局
- ion-nav-view的学习 和理解
- CF573E-Bear and Bowling【dp,平衡树】
- 计算机组成原理4(程序查询方式、程序中断方式、DMA方式及其I/O接口电路)
- Java8 实战系列-01-序章
- android文本框删除按钮,ClearEditText — 带删除按钮的输入框
- 微信公众号开发-自定义菜单
- tif怎么转换成jpg格式
- 笔记本护眼设置——全面攻略(保护视力)(笔者倾情奉献+强烈推荐)
- centos 使用iptables实现只允许中国IP访问服务器或者禁止访问
- JavaScript 获取当前是周几
- 开始数据治理时三个常见的陷阱和解决方法
- 由于改 UOM conversion 导致库存数量和财务上的数据错误
- 从前慢-SpringCloud
- 微信公众平台开发(PHP)(二) 微信公众平台示例代码分析
- 中标麒麟操作系统安装MySQL5.7.22
- 绿色出行之路 中国越走越宽
- 【OneOS万耦启物】
- Windows10安装mysql5.7.17免安装版
热门文章
- 网易计费系统架构升级之路
- WIN10系统安装虚拟机以及CentOS7
- 怎样清理xp系统垃圾
- 全志定制编译Android,全志H3 Android定制化文档
- oracle用户配额不足,ORACLE 表空间不足与用户配额(限额)不足的问题解决
- SPDK/NVMe存储技术分析之用户态ibv_post_send()源码分析(一)
- 复杂网络研究机构与大牛(不断更新)
- 1990年图灵奖--费尔南多·考巴脱简介
- matlab has encountered,[万能解决问题]MATLAB has encountered an internal problem and needs to close....
- 怎么把图片的边缘弄圆_ps边缘圆滑-怎么把抠出来的图边缘修圆滑?