¿Cómo generar una contraseña de patrón en Android?

El patrón de contraseña para el dispositivo es una de las necesidades para mantener nuestro dispositivo privado y protegido. Hoy en día, en la mayoría de las aplicaciones, podemos ver esta contraseña aplicada en muchas aplicaciones, como fondos mutuos o aplicaciones del mercado de valores para mantener nuestros datos financieros privados. En este artículo, vamos a ver cómo implementar contraseñas de patrón en nuestra aplicación de Android. qué

Generate Pattern Password in Android Sample GIF

Aplicaciones de Patrón Contraseña

  • Úselo para proteger nuestros datos privados e información personal en una aplicación de Android.
  • Se vuelve muy conveniente usar contraseñas de patrones en lugar de pines.
  • Funciona como un bloqueo de aplicaciones para nuestra aplicación en nuestro dispositivo.

Atributos de la contraseña del patrón

Atributos Descripción
diseño_ancho Para mostrar el ancho de los puntos.
disposición_altura Para mostrar la altura de los puntos.
CorrectStateColor Para mostrar el color de los puntos.

Implementación paso a paso

Paso 1: Crear un nuevo proyecto

Cómo crear/iniciar un nuevo proyecto en Android Studio Java

Paso 2: agregue la dependencia de la biblioteca Pattern Password en el archivo build.gradle

Luego navegue a los scripts de gradle y luego al nivel build.gradle (Módulo) . Agregue la siguiente línea en el archivo build.gradle en la sección de dependencias.

implementación ‘com.andrognito.patternlockview:patternlockview:1.0.0’

ahora haga clic en Sincronizar ahora sincronizará todos sus archivos en build.gradle().

Paso 3: crea una pantalla de carga en tu archivo activity_main.xml

Vaya a la aplicación > res > diseño para abrir el archivo activity_main.xml . A continuación se muestra el código para el archivo  activity_main.xml .

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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
  
    <!--Text view for giving loading-->
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Loading...." />
      
</RelativeLayout>

Paso 4: trabajar con el archivo MainActivity.java

Vaya al archivo MainActivity.java y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.java . Se agregan comentarios dentro del código para comprender el código con más detalle.

Java

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
  
import androidx.appcompat.app.AppCompatActivity;
  
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                // loading is given
                SharedPreferences sharedPreferences = getSharedPreferences("PREFS", 0);
                String password = sharedPreferences.getString("password", "0");
                if (password.equals("0")) {
                    // Intent to navigate to Create Password Screen
                    Intent intent = new Intent(getApplicationContext(), CreatePasswordActivity.class);
                    startActivity(intent);
                    finish();
                } else {
                    // Intent to navigate to Input Password Screen
                    Intent intent = new Intent(getApplicationContext(), InputPasswordActivity.class);
                    startActivity(intent);
                    finish();
                }
            }
        }, 2000);
    }
}

Paso 5: cree una nueva actividad vacía y asígnele el nombre CreatePasswordActivity

Vaya a la aplicación > java > Nombre del paquete de su aplicación > haga clic con el botón derecho en > Nuevo > Actividad > Actividad vacía y nombre la actividad como CreatePasswordActivity .

Trabajar con el archivo activity_create_password.xml:

activity_create_password.xml activity_create_password.xml En este archivo, mostrará puntos para crear un patrón de contraseña como se indica a continuación.

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"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
  
    <!--Dots to create pattern pass word-->
    <com.andrognito.patternlockview.PatternLockView
        android:id="@+id/pattern_lock_view"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:layout_centerInParent="true"
        app:correctStateColor="@color/purple_200"
        app:normalStateColor="@color/purple_200"
        app:wrongStateColor="@color/teal_700" />
  
    <!--Text View to display title-->
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:text="Create Password"
        android:textSize="30dp"
        android:textStyle="bold" />
  
</RelativeLayout>

Trabajar con el archivo CreatePasswordActivity.java:

Vaya al archivo CreatePasswordActivity.java y consulte el siguiente código. A continuación se muestra el código para el archivo CreatePasswordActivity.java . Se agregan comentarios dentro del código para comprender el código con más detalle.

Java

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
  
import androidx.appcompat.app.AppCompatActivity;
  
import com.andrognito.patternlockview.PatternLockView;
import com.andrognito.patternlockview.listener.PatternLockViewListener;
import com.andrognito.patternlockview.utils.PatternLockUtils;
  
import java.util.List;
  
public class CreatePasswordActivity extends AppCompatActivity {
  
    // Initialize pattern lock view
    PatternLockView mPatternLockView;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_create_password);
  
        mPatternLockView = (PatternLockView) findViewById(R.id.pattern_lock_view);
        mPatternLockView.addPatternLockListener(new PatternLockViewListener() {
            @Override
            public void onStarted() {
  
            }
  
            @Override
            public void onProgress(List<PatternLockView.Dot> progressPattern) {
  
            }
  
            @Override
            public void onComplete(List<PatternLockView.Dot> pattern) {
                // Shared Preferences to save state
                SharedPreferences sharedPreferences = getSharedPreferences("PREFS", 0);
                SharedPreferences.Editor editor = sharedPreferences.edit();
                editor.putString("password", PatternLockUtils.patternToString(mPatternLockView, pattern));
                editor.apply();
                  
                // Intent to navigate to home screen when password added is true
                Intent intent = new Intent(getApplicationContext(), ProgramActivity.class);
                startActivity(intent);
                finish();
            }
            @Override
            public void onCleared() {
  
            }
        });
    }
}

Paso 6: Del mismo modo, cree una nueva actividad vacía y asígnele el nombre InputPasswordActivity

Vaya a la aplicación > java > Nombre del paquete de su aplicación > haga clic con el botón derecho en > Nuevo > Actividad > Actividad vacía y nombre la actividad como InputPasswordActivity .

Trabajar con el archivo activity_Input_Password.xml:

activity_Input_Password.xml activity_Input_Password.xml En este archivo, dibujará su patrón para navegar a la pantalla de inicio cuando el usuario abrió la aplicación por segunda vez después de la instalación.

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"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
  
    <!--Dots to input password-->
    <com.andrognito.patternlockview.PatternLockView
        android:id="@+id/pattern_lock_view"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:layout_centerInParent="true"
        app:correctStateColor="@color/purple_200"
        app:normalStateColor="@color/purple_200"
        app:wrongStateColor="@color/teal_700" />
  
    <!--Text View to display title-->
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:text="Input Password"
        android:textSize="30dp"
        android:textStyle="bold" />
  
</RelativeLayout>

Trabajar con el archivo InputPasswordActivity.java:

Vaya al archivo InputPasswordActivity.java y consulte el siguiente código. A continuación se muestra el código del archivo InputPasswordActivity.java . Se agregan comentarios dentro del código para comprender el código con más detalle.

Java

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.Toast;
  
import androidx.appcompat.app.AppCompatActivity;
  
import com.andrognito.patternlockview.PatternLockView;
import com.andrognito.patternlockview.listener.PatternLockViewListener;
import com.andrognito.patternlockview.utils.PatternLockUtils;
  
import java.util.List;
  
public class InputPasswordActivity extends AppCompatActivity {
  
    PatternLockView mPatternLockView;
    String password;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_input_password);
          
        // shared preference when user comes second time to the app
        SharedPreferences sharedPreferences = getSharedPreferences("PREFS", 0);
        password = sharedPreferences.getString("password", "0");
          
        mPatternLockView = (PatternLockView) findViewById(R.id.pattern_lock_view);
        mPatternLockView.addPatternLockListener(new PatternLockViewListener() {
            @Override
            public void onStarted() {
  
            }
  
            @Override
            public void onProgress(List<PatternLockView.Dot> progressPattern) {
  
            }
  
            @Override
            public void onComplete(List<PatternLockView.Dot> pattern) {
                // if drawn pattern is equal to created pattern you will navigate to home screen
                if (password.equals(PatternLockUtils.patternToString(mPatternLockView, pattern))) {
                    Intent intent = new Intent(getApplicationContext(), ProgramActivity.class);
                    startActivity(intent);
                    finish();
                } else {
                    // other wise you will get error wrong password
                    Toast.makeText(InputPasswordActivity.this, "Wrong Password", Toast.LENGTH_SHORT).show();
                    mPatternLockView.clearPattern();
                }
            }
  
            @Override
            public void onCleared() {
  
            }
        });
    }
}

Paso 7: Del mismo modo, cree una nueva actividad vacía y asígnele el nombre ProgramActivity

Vaya a la aplicación > java > Nombre del paquete de su aplicación > haga clic con el botón derecho en > Nuevo > Actividad > Actividad vacía y nombre la actividad como ProgramActivity .

Trabajando con el archivo activity_program.xml:

programa_actividad.xml programa_actividad.xml En este archivo, vamos a

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:layout_width="match_parent"
    android:layout_height="match_parent">
  
    <!--Text Message to display-->
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Welcome to Geeks to Geeks"
        android:textSize="20dp"
        tools:layout_editor_absoluteX="163dp"
        tools:layout_editor_absoluteY="334dp" />
      
</RelativeLayout>

 Ahora haga clic en la opción de ejecución , tomará algún tiempo construir Gradle. Después de eso, obtendrá la salida en su dispositivo como se indica a continuación.

Producción:

Publicación traducida automáticamente

Artículo escrito por chinmaymunje96 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *