En Android, existen múltiples bibliotecas que brindan funciones matemáticas y lógicas a los desarrolladores para crear aplicaciones significativas. Una de esas funciones es la función aleatoria que genera un valor aleatorio. Sin embargo, podemos personalizar esta función para no solo encontrar un valor aleatorio, sino encontrarlo a partir de un rango de números. Entonces, en este artículo, le mostraremos cómo podría generar un valor aleatorio en un rango en Android. Siga los pasos a continuación una vez que el IDE esté listo.
Implementación paso a paso
Paso 1: crea un nuevo proyecto en Android Studio
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Demostramos la aplicación en Kotlin, así que asegúrese de seleccionar Kotlin como idioma principal al crear un nuevo proyecto.
Paso 2: trabajar con el archivo activity_main.xml
Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml . Agregue dos EditText para proporcionar dos entradas de números (rango de inicio y final), un TextView para mostrar el resultado y un botón para ejecutar el proceso.
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" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <EditText android:id="@+id/edit_text_1" android:layout_width="100sp" android:layout_height="50sp" android:layout_toStartOf="@id/button_1" android:layout_above="@id/button_1" android:layout_marginBottom="20sp" android:inputType="number" android:hint="Min."/> <EditText android:id="@+id/edit_text_2" android:layout_width="100sp" android:layout_height="50sp" android:layout_toEndOf="@id/button_1" android:layout_above="@id/button_1" android:layout_marginBottom="20sp" android:inputType="number" android:hint="Max."/> <Button android:id="@+id/button_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="click" android:layout_centerInParent="true"/> <TextView android:id="@+id/text_view_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40sp" android:layout_centerHorizontal="true" android:gravity="center" android:layout_below="@id/button_1" android:layout_marginTop="20sp" android:hint="Result"/> </RelativeLayout>
Paso 3: trabajar con el archivo MainActivity.kt
Vaya al archivo MainActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.
Kotlin
package org.geeksforgeeks.generaterandomnumber import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.EditText import android.widget.TextView import java.util.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Declaring and Initializing the EditText, // Button and TextView from the layout file val mEditText1 = findViewById<EditText>(R.id.edit_text_1) val mEditText2 = findViewById<EditText>(R.id.edit_text_2) val mButton = findViewById<Button>(R.id.button_1) val mTextView = findViewById<TextView>(R.id.text_view_1) // On button click, min and max value is fetched // from the EditText and a Random value is generated mButton.setOnClickListener { val minVal = mEditText1.text.toString().toInt() val maxVal = mEditText2.text.toString().toInt() // For Kotlin>=1.3 // Inclusive of min and max value val mResult = (minVal..maxVal).random() // For Kotlin<1.3 // mResult = Random().nextInt(maxVal + 1 - minVal) + minVal // Random value is displayed in the TextView mTextView.text = mResult.toString() } } }
Producción:
Puede ver que cuando se hace clic en el botón, se genera un número aleatorio y se muestra en TextView.
Publicación traducida automáticamente
Artículo escrito por aashaypawar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA