Como gerar uma senha padrão no Android?
A senha padrão para o dispositivo é uma das necessidades para manter nosso dispositivo privado e protegido. Hoje em dia, na maioria dos aplicativos, vemos essa senha aplicada em muitos aplicativos, como fundos mútuos ou aplicativos do mercado de ações, para manter nossos dados financeiros privados. Neste artigo, veremos como implementar senhas padrão em nosso aplicativo Android. Um exemplo de GIF é fornecido abaixo para se ter uma ideia sobre o que faremos neste artigo. Observe que vamos implementar este projeto usando a linguagem Java .
Aplicações de senha padrão
- Use para proteger nossos detalhes privados e informações pessoais em um aplicativo Android.
- Torna-se muito conveniente usar senhas padrão em vez de alfinetes.
- Ele funciona como um bloqueio de aplicativo para nosso aplicativo em nosso dispositivo.
Atributos da senha padrão
Atributos | Descrição |
---|---|
layout_width | Para exibir a largura dos pontos. |
layout_height | Para exibir a altura dos pontos. |
correctStateColor | Para exibir a cor dos pontos. |
Implementação passo a passo
Etapa 1: Criar um novo projeto
Para criar um novo projeto no Android Studio, consulte Como criar / iniciar um novo projeto no Android Studio . Observe que selecione Java como a linguagem de programação.
Etapa 2: adicionar dependência da biblioteca de senha padrão no arquivo build.gradle
Em seguida, navegue até os scripts do gradle e, em seguida, para o nível build.gradle (módulo) . Adicione a linha abaixo no arquivo build.gradle na seção de dependências.
implementação 'com.andrognito.patternlockview: patternlockview: 1.0.0'
agora clique em Sincronizar para sincronizar todos os seus arquivos em build.gradle().
Etapa 3: Crie uma tela de carregamento em seu arquivo activity_main.xml
Navegue até app> res> layout para abrir o arquivo activity_main.xml . Abaixo está o código para o arquivo 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: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>
Etapa 4: Trabalhando com o arquivo MainActivity.java
Vá para o arquivo MainActivity.java e consulte o código a seguir. Abaixo está o código para o arquivo MainActivity.java . Os comentários são adicionados dentro do código para entender o código em mais detalhes.
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);
}
}
Etapa 5: crie uma nova atividade vazia e nomeie-a como CreatePasswordActivity
Vá para o aplicativo> java> Nome do pacote do seu aplicativo> clique com o botão direito do mouse> Novo> Atividade> Atividade vazia e nomeie a atividade como CreatePasswordActivity .
Trabalhando com o arquivo activity_create_password.xml:
Acesse o arquivo activity_create_password.xml e consulte o código a seguir. Abaixo está o código para o arquivo activity_create_password.xml . Neste arquivo, você mostrará pontos para criar uma senha padrão conforme fornecido abaixo.
<?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>
Trabalhando com o arquivo CreatePasswordActivity.java:
Acesse o arquivo CreatePasswordActivity.java e consulte o código a seguir. Abaixo está o código para o arquivo CreatePasswordActivity.java . Os comentários são adicionados dentro do código para entender o código em mais detalhes.
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() {
}
});
}
}
Etapa 6: crie da mesma forma uma nova atividade vazia e nomeie-a como InputPasswordActivity
Vá para o aplicativo> java> Nome do pacote do seu aplicativo> clique com o botão direito do mouse> Novo> Atividade> Atividade vazia e nomeie a atividade como InputPasswordActivity .
Trabalhando com o arquivo activity_Input_Password.xml:
Acesse o arquivo activity_Input_Password.xml e consulte o código a seguir. Abaixo está o código para o arquivo activity_Input_Password.xml . Neste arquivo, você desenhará seu padrão para navegar até a tela inicial quando o usuário abrir o aplicativo pela segunda vez após a instalação.
<?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>
Trabalhando com o arquivo InputPasswordActivity.java:
Acesse o arquivo InputPasswordActivity.java e consulte o código a seguir. Abaixo está o código para o arquivo InputPasswordActivity.java . Os comentários são adicionados dentro do código para entender o código em mais detalhes.
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() {
}
});
}
}
Etapa 7: Da mesma forma, crie uma nova atividade vazia e nomeie-a como ProgramActivity
Vá para o aplicativo> java> Nome do pacote do seu aplicativo> clique com o botão direito do mouse> Novo> Atividade> Atividade vazia e nomeie a atividade como ProgramActivity .
Trabalhando com o arquivo activity_program.xml:
Acesse o arquivo activity_program.xml e consulte o código a seguir. Abaixo está o código para o arquivo activity_program.xml . Neste arquivo, criaremos a tela inicial para navegar o usuário até a tela principal. Onde você verá a mensagem de texto.
<?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>
Agora clique na opção executar - levará algum tempo para construir o Gradle. Depois disso, você obterá a saída em seu dispositivo conforme mostrado abaixo.
Saída:
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva