案例------用户登录记住密码
2017-04-08 13:07
375 查看
1.任务要求运行效果图:
2.操作步骤及内容
首先使用Android Studio创建一个项目Case_Login, 使Activity name为LoginActivity,然后把所需的图片添加到drawable中,并在里面新建btn_select.xml,btn_shape.xml,btn_shape_after.xml,loginbg.xml和logintop_roundbg.xml,然后再新建一个login_top.xml,最后新建一个MainActivity及其对应的activity_main.xml
详细代码如下:
LoginActivity:
MainActivity:
activity_login.xml:
activity_main.xml:
login_top.xml:
drawable中btn_select.xml:
drawable中btn_shape.xml:
drawable中btn_shape_after.xml:
drawable中loginbg.xml:
drawable中logintop_roundbg.xml:
3.最终运行结果图如下:
输入账号和密码并勾选记住密码选框
点击登录进入欢迎界面
退出再重新登录时会出现如下界面,记住了用户的登录密码
2.操作步骤及内容
首先使用Android Studio创建一个项目Case_Login, 使Activity name为LoginActivity,然后把所需的图片添加到drawable中,并在里面新建btn_select.xml,btn_shape.xml,btn_shape_after.xml,loginbg.xml和logintop_roundbg.xml,然后再新建一个login_top.xml,最后新建一个MainActivity及其对应的activity_main.xml
详细代码如下:
LoginActivity:
package cn.edu.bzu.case_login; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast; 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); } } private 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_LONG).show(); } } }
MainActivity:
package cn.edu.bzu.case_login; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
activity_login.xml:
<?xml version="1.0" encoding="utf-8"?> <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= 4000 "@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"></include> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/deer" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_marginBottom="20dp" android:id="@+id/imageView" /> </RelativeLayout>
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: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="cn.edu.bzu.case_login.MainActivity"> <TextView android:text="Welcome you" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:textSize="50sp" android:layout_marginTop="260dp" android:id="@+id/textView" /> </RelativeLayout>
login_top.xml:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 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: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:text="记住密码" android:layout_width="0dp" android:layout_height="wrap_content" android:id="@+id/cbIsRememberPass" android:textSize="20sp" android:layout_weight="1" /> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/btn_select" android:onClick="login" android:text="@string/btnLogin" /> </LinearLayout> </RelativeLayout>
drawable中btn_select.xml:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/btn_shape" android:state_pressed="false"></item> <item android:drawable="@drawable/btn_shape_after" android:state_pressed="true"></item> </selector>
drawable中btn_shape.xml:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FF72CAE1"></solid> <corners android:radius="10dp"></corners> </shape>
drawable中btn_shape_after.xml:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#87cefa"></solid> <corners android:radius="10dp"></corners> </shape>
drawable中loginbg.xml:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <gradient android:startColor="#FFACDAE5" android:endColor="#FF72CAE1" android:angle="45" /> </shape>
drawable中logintop_roundbg.xml:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="10dp"></corners> <solid android:color="#55FFFFFF"></solid> </shape>
3.最终运行结果图如下:
输入账号和密码并勾选记住密码选框
点击登录进入欢迎界面
退出再重新登录时会出现如下界面,记住了用户的登录密码
相关文章推荐
- Android案例-用户登录记住密码
- 用户登录记住密码案例
- 用户登录记住密码案例
- 用户登录记住密码案例
- 案例------用户登录记住密码
- Android数据存储和访问之SharedPreferences存储方式_用户登录记住密码案例
- 用户登录记住密码案例
- 公司局域网内访问其他电脑,为了方便,第一次登录时用户名和密码选择了记住,现在想更换用户登陆
- 登录时记住用户名和密码及cookie案例应用
- android开发,以记住用户登录密码为例说明SharedPreferences的简单应用
- 用户登录时的用户名密码加密解密问题和“记住密码”功能
- ios用户登录记住密码
- 这才是一个完整的用户登录(Forms身份认证+记住密码+加密存储+LoginedPage/BasePage)
- android基础-利用SharedPreferences实现用户记住密码和自动登录
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- 使用jquery.cookie.js实现记住用户信息(下面以web的记住登录名和密码为例进行说明)
- 使用Jquery搭建最佳用户体验的登录页面 之 记住密码自动登录功能
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- 登录时记住用户名和密码及cookie案例应用
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)