安卓密码视图,示例
原文:https://www . geeksforgeeks . org/passcodeview-in-Android-with-example/
在这里,我们将看到如何在 android studio 中实现数字密码视图,以及如何使用它来为用户的应用程序设置数字密码。
什么是密码视图?
“密码”视图是一个自定义视图,带有键盘和用于身份验证的字符或数字显示。数字密码(个人识别码)的应用
- 用于在安卓应用程序中保护我们的隐私细节和个人信息。
- 使用数字密码或 pin 变得非常方便。
- 没有人能轻易猜出这样或破解这样的密码。
- 它在我们的设备上作为应用锁定我们的应用。
我们将在本文中构建什么?
在本文中,我们将使用依赖项在项目中添加密码视图,然后使用它在 activity_main.xml 文件中导入密码视图,然后我们必须使用 MainActivity.java 文件设置密码。注意,我们将使用 Java 语言来实现这个应用程序。下面给出了一个示例视频,以了解我们将在本文中做什么。
[https://media.geeksforgeeks.org/wp-content/uploads/20210708145631/WhatsApp-Video-2021-07-08-at-14.54.21.mp4](https://media.geeksforgeeks.org/wp-content/uploads/20210708145631/WhatsApp-Video-2021-07-08-at-14.54.21.mp4)逐步实施
第一步:创建新项目
- 打开一个新项目。
- 我们将使用 Java 语言来处理空活动。保持所有其他选项不变。
- 您可以在方便的时候更改项目的名称。
- 将有两个名为 activity_main.xml 和 MainActivity.java 的默认文件。
如果你不知道如何在安卓工作室创建新项目,那么你可以参考如何在安卓工作室创建/启动新项目?
注意:不要忘记勾选“使用旧版 android.support 库”选项。否则,当我们将应用程序安装到手机上时,它可能会崩溃。参考下图。
第二步:导航到Gradle Scripts>build . Gradle(模块)文件,并在其中添加以下依赖项。之后点击立即同步保存项目中的更改。
implementation 'com.hanks:passcodeview:0.1.2'
第三步:创建新活动
按照以下流程创建新活动。右键点击布局>新增>活动>清空活动。选择语言为 java,命名为密码 _ 活动。
第 4 步:处理 XML 文件
使用 activity_main.xml 文件:
这里我们将创建一个密码视图,它是从我们在项目开始时添加的依赖项中导入的。在 activity_main.xml 文件中使用下面的代码。
可扩展标记语言
<?xml version="1.0" encoding="utf-8"?>
<!-- Relative layout as parent layout-->
<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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!-- Passcode view , which is imported
from the dependency which have been added in
gradle file-->
<com.hanks.passcodeview.PasscodeView
android:id="@+id/passcodeview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#222222"
app:correctStateColor="#71bb4d"
app:firstInputTip="Enter a passcode of 5 digits "
app:normalStateColor="#ffffff"
app:numberTextColor="#222222"
app:passcodeLength="5"
app:passcodeViewType="set_passcode"
app:wrongStateColor="#ea2b46" />
</RelativeLayout>
执行上述代码后, activity_main.xml 的设计如下
使用 activity _ 验证码. xml 文件:
这是在我们的密码被成功接受后或当我们输入正确的密码时出现的屏幕。在activity _ 验证码. xml 文件中使用下面的代码。
可扩展标记语言
<?xml version="1.0" encoding="utf-8"?>
<!-- Constraint layout as parent layout-->
<android.support.constraint.ConstraintLayout
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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".passcode_activity">
<!-- textview to display welcome message-->
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Welcome"
android:textColor="#00C809"
android:textColorHint="#10B618"
android:textSize="40sp"
android:textStyle="bold|italic"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.235" />
<!-- textview displaying message "to"-->
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="to"
android:textColor="#02E30C"
android:textSize="24sp"
android:textStyle="bold|italic"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView"
app:layout_constraintVertical_bias="0.094" />
<!-- image view to display image of geeksforgeeks logo-->
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2"
app:layout_constraintVertical_bias="0.166"
app:srcCompat="@drawable/gfgimage" />
</android.support.constraint.ConstraintLayout>
执行完上面的 activity _ 验证码. xml 的代码设计后,看起来像。
第五步:使用 Java 文件
正在处理 MainActivity.java 文件:
转到MainActivity.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);
}
});
}
}
使用验证码 _activity.java 文件:
在密码 _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();
}
}
恭喜你!!,我们已经使用密码视图成功实现了数字密码。这是我们应用程序的最终输出。
输出:
[https://media.geeksforgeeks.org/wp-content/uploads/20210708145631/WhatsApp-Video-2021-07-08-at-14.54.21.mp4](https://media.geeksforgeeks.org/wp-content/uploads/20210708145631/WhatsApp-Video-2021-07-08-at-14.54.21.mp4)版权属于:月萌API www.moonapi.com,转载请注明出处