Muchas aplicaciones, como la aplicación de comercio electrónico, requieren aceptar pagos de sus usuarios por proporcionar diferentes productos o servicios o para sus usuarios. Entonces, esta aplicación requiere que los usuarios ingresen los datos bancarios para los pagos. En esta pasarela de pago, se les pide a los usuarios que agreguen el código IFSC de sus bancos para obtener los detalles de sus bancos. Tantas aplicaciones tienen características dentro de su aplicación que, al ingresar el código IFSC del banco, los detalles bancarios del usuario, como la dirección del banco, la ciudad del banco y otros detalles comunes, se obtienen de ese código IFSC. Entonces, en este artículo, veremos cómo podemos obtener los datos bancarios comunes del código IFSC en Android.
¿Qué vamos a construir en este artículo?
Construiremos una aplicación simple en la que obtendremos el código IFSC del usuario a través de EditText y luego, el usuario debe hacer clic en un botón simple para obtener los datos de ese código IFSC, como la dirección del banco, el código MICR del banco. , número de contacto y otros detalles. Para realizar esta tarea usaremos una API simple que agregaremos a nuestra aplicación. Esta aplicación nos proporcionará los datos básicos de la API que está relacionada con el banco. A continuación se muestra la imagen GIF en la que veremos lo que vamos a construir en este artículo.
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 . Tenga en cuenta que seleccione Java como lenguaje de programación.
Paso 2: agregue la dependencia a continuación en su archivo build.gradle
A continuación se muestra la dependencia de Volley que usaremos para obtener los datos de la API. Para agregar esta dependencia, vaya a la aplicación > Gradle Scripts > build.gradle(app) y agregue la dependencia a continuación en la sección de dependencias.
implementación ‘com.android.volley:volley:1.1.1’
Después de agregar esta dependencia, sincronice su proyecto y ahora avance hacia la parte XML.
Paso 3: trabajar con el archivo activity_main.xml
Vaya al archivo activity_main.xml y consulte el siguiente código. A continuación se muestra el código para el archivo activity_main.xml .
XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="vertical" tools:context=".MainActivity"> <!--heading text view--> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="20dp" android:text="IFSC Code Validator" android:textAlignment="center" android:textColor="@color/purple_500" android:textSize="30sp" /> <!-- edit text for entering our IFSC code we are specifying input type as number and we are also mentioning our input type as textcapCharacters because IFSC code is having all capital characters--> <EditText android:id="@+id/idedtIfscCode" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="20dp" android:hint="Enter IFSC code" android:importantForAutofill="no" android:inputType="textCapCharacters" android:maxLines="1" android:singleLine="true" android:textAllCaps="true" /> <!--button to get the data from IFSC code--> <Button android:id="@+id/idBtnGetBankDetails" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="50dp" android:text="Get Bank Details" android:textAllCaps="false" /> <!--text view to display the data received from IFSC code--> <TextView android:id="@+id/idTVBankDetails" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="20dp" android:padding="10dp" android:textAlignment="center" android:textAllCaps="false" android:textColor="@color/purple_500" android:textSize="15sp" /> </LinearLayout>
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.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.JsonObjectRequest; import com.android.volley.toolbox.Volley; import org.json.JSONException; import org.json.JSONObject; public class MainActivity extends AppCompatActivity { // creating variables for edit text // and our text views. private EditText ifscCodeEdt; private TextView bankDetailsTV; // creating a variable for // our ifsc code string. String ifscCode; // creating a variable for request queue. private RequestQueue mRequestQueue; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // initializing our variables. ifscCodeEdt = findViewById(R.id.idedtIfscCode); Button getBankDetailsBtn = findViewById(R.id.idBtnGetBankDetails); bankDetailsTV = findViewById(R.id.idTVBankDetails); // initializing our request que variable with request queue // and passing our context to it. mRequestQueue = Volley.newRequestQueue(MainActivity.this); // initialing on click listener for our button. getBankDetailsBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // getting string from edittext. ifscCode = ifscCodeEdt.getText().toString(); // validating if the edit text // is empty or not. if (TextUtils.isEmpty(ifscCode)) { // displaying a toast message if the text field is empty Toast.makeText(MainActivity.this, "Please enter valid IFSC code", Toast.LENGTH_SHORT).show(); } else { // calling a method to display // our ifsc code details. getDataFromIFSCCode(ifscCode); } } }); } private void getDataFromIFSCCode(String ifscCode) { // clearing our cache of request queue. mRequestQueue.getCache().clear(); // below is the url from where we will be getting // our response in the json format. String url = "http://api.techm.co.in/api/v1/ifsc/" + ifscCode; // below line is use to initialize our request queue. RequestQueue queue = Volley.newRequestQueue(MainActivity.this); // creating a json object request for our API. JsonObjectRequest objectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { // this method is used to get // the response from the API. try { if (response.getString("status").equals("failed")) { // checking if the response is not loaded and // status for the repose is fail. // if response status is failure we are displaying // an invalid IFSC code in our text view. bankDetailsTV.setText("Invalid IFSC Code"); } else { // if the status is successful we are // extracting data from JSON file JSONObject dataObj = response.getJSONObject("data"); String state = dataObj.optString("STATE"); String bankName = dataObj.optString("BANK"); String branch = dataObj.optString("BRANCH"); String address = dataObj.optString("ADDRESS"); String contact = dataObj.optString("CONTACT"); String micrcode = dataObj.optString("MICRCODE"); String city = dataObj.optString("CITY"); // after extracting this data we are displaying // that data in our text view. bankDetailsTV.setText("Bank Name : " + bankName + "\nBranch : " + branch + "\nAddress : " + address + "\nMICR Code : " + micrcode + "\nCity : " + city + "\nState : " + state + "\nContact : " + contact); } } catch (JSONException e) { // if we get any error while loading data // we are setting our text as invalid IFSC code. e.printStackTrace(); bankDetailsTV.setText("Invalid IFSC Code"); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // if we get any error while loading json // data we are setting our text to invalid IFSC code. bankDetailsTV.setText("Invalid IFSC Code"); } }); // below line is use for adding object // request to our request queue. queue.add(objectRequest); } }
Paso 5: agregue permiso para Internet en el archivo de manifiesto
Vaya a la aplicación > archivo AndroidManifest.xml y agréguele los siguientes permisos.
XML
<uses-permission android:name="android.permission.INTERNET"/>
Después de agregar este permiso. Ejecute su proyecto y vea el resultado en la siguiente pantalla.
Producción:
Publicación traducida automáticamente
Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA