zoukankan      html  css  js  c++  java
  • Android实战(一)学习了多个控件实现登录及记住密码功能

    首先确定一下需要的控件:

    两个EditText:用于输入账号和密码

    一个button:用于登录查看账号和密码是否正确

    一个checkbox:用于记住密码和账户

    一个Androidstudio:用于编写代码,当然牛逼的人也推荐使用记事本写代码,废话不多说开工。

    创建一个App项目加入两个布局两份Java.class ,在Androidmanifest.xml里面注册第二个布局。

    准备完毕

    1、在初始布局中加入上述控件,并为其设置好id

    代码如下所示

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:orientation="vertical"
    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.administrator.app.MainActivity">

    <EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="用户名"
    android:id="@+id/editText"
    />

    <EditText
    android:password="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="密码"
    android:id="@+id/password"
    />

    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:text="登录"
    android:id="@+id/button" />

    <CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="记住密码"
    android:id="@+id/remember_password"
    />

    </LinearLayout>


    2、修改对应布局文件的Java文件代码如下所示

    public class MainActivity extends AppCompatActivity {
    private SharedPreferences pref;
    private SharedPreferences.Editor editor;
    private EditText accountEdit;
    private EditText passwordEdit;
    private Button login;
    private CheckBox rememberPass;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    pref = PreferenceManager.getDefaultSharedPreferences(this);
    accountEdit = (EditText) findViewById(R.id.editText);
    passwordEdit = (EditText) findViewById(R.id.password);
    rememberPass = (CheckBox) findViewById(R.id.remember_password);
    login = (Button) findViewById(R.id.button);

    boolean isRemember = pref.getBoolean ("remember_password",false);
    if (isRemember) {
    //将文本设置到文本框中
    String account = pref.getString("account","");
    String password = pref.getString("password","");
    accountEdit.setText(account);
    passwordEdit.setText(password);
    rememberPass.setChecked(true);}
    login.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    String account = accountEdit.getText().toString();
    String password = passwordEdit.getText().toString();
    if (account.equals("1489259653") && password.equals("123456")) {
    editor = pref.edit();
    if (rememberPass.isChecked()){
    editor.putBoolean("remember_password",true);
    editor.putString("account",account);
    editor.putString("password",password);


    } else { editor.clear();}
    editor.commit();
    Intent w = new Intent(MainActivity.this,second.class);
    startActivity(w);
    finish();
    }else{
    Toast.makeText(MainActivity.this,"账号或密码错误",Toast.LENGTH_SHORT).show();
    }
    }
    });



    }
    具体就可以开始跑了
    其中每个控件都看得懂,不懂再联系我QQ1489259653
    代码最好自己敲一遍,不能复制粘贴,只有真正打了一遍才是你的代码,不是我小气而是为了让你加深记忆,好吗。
    如果你觉得对你有帮助请顶一下,,,,
    如有雷同算我抄袭,,,
    本次就到这里
    转发请注明出处。。。。。



  • 相关阅读:
    video 属性和事件用法大全
    微信小程序 组件通信相关知识整理
    JavaScript实现登录窗口的拖拽
    JS 各种宽高
    CSS3 Animation
    CSS3 Transition
    CSS3 Transform
    vue 回到页面顶部
    element-ui 动态换肤
    Chrome浏览器下自动填充的输入框背景
  • 原文地址:https://www.cnblogs.com/Happy-Eric-1/p/eric_5599.html
Copyright © 2011-2022 走看看