Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Contraseña de protección de mi aplicación Android (la forma más sencilla)

He construido mi primera aplicación, y me gustaría protegerla con contraseña. Está bien para mí para almacenar la contraseña en los archivos de Java y el método debe ser tan simple como sea posible porque no tengo experiencia de java o incluso xml antes de esta aplicación. He tenido algunos intentos y falló, así que esperaba que alguien me pudiera ayudar.

He creado el diseño con un campo EditText:

<EditText android:id="@+id/passwordedittext" android:layout_width="200dp" android:layout_height="50dp" android:inputType="textPassword" android:layout_marginTop="40dp" android:layout_marginLeft="20dp"> <requestFocus /> 

Y un botón de envío:

 <Button android:id="@+id/submitbutton" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginTop="40dp" android:background="@drawable/bgo" android:clickable="true" android:layout_gravity="right|center_horizontal" android:layout_marginRight="20dp"/> 

El archivo Java:

 package com.berry; import android.app.Activity; import android.content.Intent; import android.media.MediaPlayer; import android.os.Bundle; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.Button; import android.widget.EditText; public class password extends Activity{ MediaPlayer mpbuttonclick; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN,WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); setContentView(R.layout.password); mpbuttonclick = MediaPlayer.create(this, R.raw.keypress); Button sumbitButton = (Button) findViewById(R.id.submitbutton); sumbitButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v){ EditText passwordEditText = (EditText) findViewById(R.id.passwordedittext); if(passwordEditText.getText().toString()=="MyPasswordHere"){ startActivity(new Intent("com.berry.intro")); mpbuttonclick.start(); }}}); }} 

  • Acceso a un nombre de recurso mediante programación
  • IntentReceiverLeaked usando AdMob
  • Cómo hacer que el modo de ráfaga esté disponible para la cámara
  • ¿Cómo puedo obtener el color medio de una imagen
  • ¿Pasa el método de devolución de llamada con una clase de actividad que no es de clase de android?
  • Cómo convertir cursorLoader en Loader <Object>
  • Error al compilar AIDL
  • Necesito rodear un flotador a dos decimales en Java
  • 3 Solutions collect form web for “Contraseña de protección de mi aplicación Android (la forma más sencilla)”

    Esta parte:

     if(passwordEditText.getText().toString()=="MyPasswordHere") 

    Es incorrecto. Debería ser

     if(passwordEditText.getText().toString().equals("MyPasswordHere")) 

    Al comparar tipos de datos primitivos (como int , char , boolean ) puede utilizar == != , Etc.
    Cuando se comparan objetos (como String , Car , etc) es necesario utilizar el método .equals() .

    Véase también esta página.

    De ninguna manera es seguro comprobar su contraseña así.

    Hay varias maneras de evitar fácilmente su código

    1. Llamar a la actividad directamente desde otra aplicación

    2. Leyendo el código smali desmontado para recuperar la contraseña

    3. Modificar el código utilizando smali para saltar siempre al código

    Soluciones disponibles para resolver estos problemas:

    1. Obscure su código (peor opción, pero podría ser suficiente en la mayoría de los casos)

    2. Comparación de la contraseña Hashed : mucho más seguro. Pero debe ser un Hash salado. (También hay una explicación más fácil de entender para la implementación)

    3. Utilice una petición HTTP a un servidor suyo para ocultar el mecanismo detrás de la comprobación de contraseña. (Pero eso requiere que tu aplicación solicite permisos de red)

    En el campo de texto de edición xml puede agregar

      android:password="true" 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.