📜  Android 中的 PasscodeView 示例

📅  最后修改于: 2022-05-13 01:54:18.687000             🧑  作者: Mango

Android 中的 PasscodeView 示例

在这里,我们将看到我们如何在 android studio 中实现数字 PasscodeView 以及如何使用它用户如何为他/她的应用程序设置数字密码。

什么是密码视图?

密码视图是带有键盘和字符或数字显示的自定义视图,用于身份验证。数字密码的应用(Pin code)

  • 用于在 Android 应用程序中保护我们的私人详细信息和个人信息。
  • 使用数字密码或 pin 变得非常方便。
  • 没有人可以轻易猜出或破解这样的密码。
  • 它作为应用程序锁定到我们设备上的应用程序。

我们将在本文中构建什么?

在本文中,我们将使用一个依赖项在我们的项目中添加密码视图,然后使用它在 activity_main.xml 文件中导入密码视图,然后我们必须使用 MainActivity 设置密码。 Java文件。请注意,我们将使用Java语言实现此应用程序。下面给出了一个示例视频,以了解我们将在本文中做什么。

分步实施

第 1 步:创建一个新项目

  • 打开一个新项目。
  • 我们将使用Java语言处理 Empty Activity。保持所有其他选项不变。
  • 您可以在方便时更改项目的名称。
  • 将有两个名为 activity_main.xml 和 MainActivity 的默认文件。Java。

如果您不知道如何在 Android Studio 中创建新项目,那么您可以参考如何在 Android Studio 中创建/启动新项目?



第 2 步:导航到Gradle Scripts > build.gradle(module)文件并在其中添加以下依赖项。之后单击立即同步以保存项目中的更改。

implementation 'com.hanks:passcodeview:0.1.2'

第 3 步:创建新活动

按照以下流程创建新活动。右键单击布局 > 新建 > 活动 > 空活动。选择语言为Java并将其命名为passcode_activity

第 4 步:处理 XML 文件

使用 activity_main.xml 文件:

在这里,我们将创建一个 Passcode 视图,它是从我们在项目开始时添加的依赖项导入的。在activity_main.xml文件中使用以下代码。



XML



  
    
    
  


XML



  
    
    
  
    
    
  
    
    
  


Java
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;
  
import com.hanks.passcodeview.PasscodeView;
  
public class MainActivity extends AppCompatActivity {
  
    // initialize variable passcodeview
    PasscodeView passcodeView;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        passcodeView = findViewById(R.id.passcodeview);
  
        // to set length of password as here
        // we have set the length as 5 digits
        passcodeView.setPasscodeLength(5)
                // to set pincode or passcode
                .setLocalPasscode("12369")
  
                // to set listener to it to check whether
                // passwords has matched or failed
                .setListener(new PasscodeView.PasscodeViewListener() {
                    @Override
                    public void onFail() {
                        // to show message when Password is incorrect
                        Toast.makeText(MainActivity.this, "Password is wrong!", Toast.LENGTH_SHORT).show();
                    }
  
                    @Override
                    public void onSuccess(String number) {
                        // here is used so that when password
                        // is correct user will be
                        // directly navigated to next activity
                        Intent intent_passcode = new Intent(MainActivity.this, passcode_activity.class);
                        startActivity(intent_passcode);
                    }
                });
    }
}


Java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
  
public class passcode_activity extends AppCompatActivity {
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_passcode);
    }
  
    @Override
    public void onBackPressed() {
        // this method is used to finish the activity
        // when user enters the correct password
        this.finishAffinity();
    }
}


执行完上面的代码后, activity_main.xml的设计是这样的

使用 activity_passcode.xml 文件:

这是我们的密码被成功接受或我们输入正确密码后出现的屏幕。在activity_passcode.xml文件中使用以下代码。

XML




  
    
    
  
    
    
  
    
    
  

执行上面的activity_passcode.xml代码设计后的样子。

第 5 步:使用Java文件

在 MainActivity 上工作。 Java文件:



转到主活动。 Java文件,参考如下代码。下面是MainActivity的代码。 Java文件。代码中添加了注释以更详细地理解代码。

Java

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;
  
import com.hanks.passcodeview.PasscodeView;
  
public class MainActivity extends AppCompatActivity {
  
    // initialize variable passcodeview
    PasscodeView passcodeView;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        passcodeView = findViewById(R.id.passcodeview);
  
        // to set length of password as here
        // we have set the length as 5 digits
        passcodeView.setPasscodeLength(5)
                // to set pincode or passcode
                .setLocalPasscode("12369")
  
                // to set listener to it to check whether
                // passwords has matched or failed
                .setListener(new PasscodeView.PasscodeViewListener() {
                    @Override
                    public void onFail() {
                        // to show message when Password is incorrect
                        Toast.makeText(MainActivity.this, "Password is wrong!", Toast.LENGTH_SHORT).show();
                    }
  
                    @Override
                    public void onSuccess(String number) {
                        // here is used so that when password
                        // is correct user will be
                        // directly navigated to next activity
                        Intent intent_passcode = new Intent(MainActivity.this, passcode_activity.class);
                        startActivity(intent_passcode);
                    }
                });
    }
}

使用 passcode_activity。 Java文件:

passcode_activity 中使用以下代码。 Java文件。

Java

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
  
public class passcode_activity extends AppCompatActivity {
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_passcode);
    }
  
    @Override
    public void onBackPressed() {
        // this method is used to finish the activity
        // when user enters the correct password
        this.finishAffinity();
    }
}

恭喜!! ,我们已经成功地使用密码视图实现了数字密码。这是我们应用程序的最终输出。

输出: