android 用户登录及记录密码功能
2017-04-10 20:21
573 查看
1、下面是登陆界面
![](https://img-blog.csdn.net/20170410201913784?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSVRsaWp1bmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
代码如下:
2、欢迎界面
![](https://img-blog.csdn.net/20170410203529944?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSVRsaWp1bmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
代码如下:
3、用户名密码输入界面,上面那个界面只是显示用的,这个才是真正处理数据的。
![](https://img-blog.csdn.net/20170410203829727?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSVRsaWp1bmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
代码如下:
4、mainActivity
代码如下:
5、LoginActivity登录java文件,判断是否选中记住密码,然后执行不同命令。
代码如下:
运行结果:首先第一次登陆会这样
![](https://img-blog.csdn.net/20170410204521121?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSVRsaWp1bmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如果选择记住密码
![](https://img-blog.csdn.net/20170410204620103?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSVRsaWp1bmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
下次打开时会如下界面:
![](https://img-blog.csdn.net/20170410204745121?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSVRsaWp1bmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
可以直接登陆
如果选择不记住密码则需要重新输入
界面如下
![](https://img-blog.csdn.net/20170410205142626?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSVRsaWp1bmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_login" 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" android:background="@drawable/loginbg" tools:context="cn.edu.bzu.case_login.LoginActivity"> <include layout="@layout/login_top" android:id="@+id/include"></include> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/deer" android:layout_marginBottom="29dp" android:id="@+id/imageView" android:layout_marginRight="21dp" android:layout_marginEnd="21dp" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> </RelativeLayout>
2、欢迎界面
代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:textSize="40sp" android:text="Welcome you" /> </RelativeLayout>
3、用户名密码输入界面,上面那个界面只是显示用的,这个才是真正处理数据的。
代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/logintop_roundbg" android:padding="@dimen/activity_horizontal_margin" > <EditText android:id="@+id/etName" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:drawable/edit_text" android:drawableLeft="@drawable/icon_user" android:drawablePadding="10dp" android:ems="10" android:hint="@string/etName"> <requestFocus /> </EditText> <EditText android:id="@+id/etPassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/etName" android:background="@android:drawable/edit_text" android:drawableLeft="@drawable/icon_pass" android:drawablePadding="10dp" android:ems="10" android:hint="@string/etPass" android:inputType="textPassword"> <requestFocus /> </EditText> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/etPassword"> <CheckBox android:id="@+id/cbIsRememberPass" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/cbIsRememberPass" android:textSize="20sp"/> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/btn_select" android:text="@string/btnLogin" android:onClick="login" /> </LinearLayout> </RelativeLayout>
4、mainActivity
代码如下:
public class MainActivity extends AppCompatActivity{ @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
5、LoginActivity登录java文件,判断是否选中记住密码,然后执行不同命令。
代码如下:
public class LoginActivity extends AppCompatActivity { private EditText etName; private EditText etPassword; private CheckBox cbIsRememberPass; private SharedPreferences sharedPreferences; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); initViews(); sharedPreferences = getSharedPreferences("rememberpassword", Context.MODE_PRIVATE); boolean isRemember = sharedPreferences.getBoolean("rememberpassword", false); if (isRemember) { String name = sharedPreferences.getString("name", ""); String password = sharedPreferences.getString("password", ""); etName.setText(name); etPassword.setText(password); cbIsRememberPass.setChecked(true); } } public void initViews() { etName = (EditText) findViewById(R.id.etName); etPassword = (EditText) findViewById(R.id.etPassword); cbIsRememberPass = (CheckBox) findViewById((R.id.cbIsRememberPass)); } 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 (cbIsRememberPass.isChecked()) { editor.putBoolean("rememberpassword", true); editor.putString("name", name); editor.putString("password", password); } else { editor.clear(); } editor.commit(); Intent intent = new Intent(this, MainActivity.class); startActivity(intent); finish(); } else { Toast.makeText(this, "账号或密码有误", Toast.LENGTH_SHORT).show(); } } }
运行结果:首先第一次登陆会这样
如果选择记住密码
下次打开时会如下界面:
可以直接登陆
如果选择不记住密码则需要重新输入
界面如下
相关文章推荐
- Android实现用户登录记住密码功能
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- 用户登录 和 “记住密码”功能
- ios实现用户登录的保存密码功能
- OpenFile android 即时通讯客服端开发 (三)连接 用户注册、登录、修改密码和注销等
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- 使用Jquery搭建最佳用户体验的登录页面 之 记住密码自动登录功能,(含后台代码)
- 实现用户登录的保存密码功能
- android开发,以记住用户登录密码为例说明SharedPreferences的简单应用
- ios实现用户登录的保存密码功能
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android中的记住密码功能与多应用的单点登录
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- Android SharedPreferences 存储用户登录密码
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- asp.net系统增加用户登录后修改密码的功能
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等