App Tutorial

Country Code Picker Android: Selezionare Prefisso Telefonico con Java

Country Code Picker Android - selezione prefisso telefonico internazionale

Country Code Picker Android è un componente utile per permettere all’utente di scegliere in modo rapido il prefisso telefonico internazionale corretto prima di inserire il numero. In questa guida vedremo come integrare Country Code Picker in un progetto Android scritto in Java, quando è consigliabile usarlo nelle schermate di registrazione o login e a quali sviluppatori è destinato, dai principianti a chi desidera ottimizzare le proprie app. Segui questa guida per configurare correttamente il tuo progetto.

In questo esempio andiamo ad utilizzare Country Code Picker per cercare il prefisso internazionale di un numero telefonico.
CCP è molto semplice da usare, basta inserire la dipendenza sul build.gradler:
implementation ‘com.hbb20:ccp:2.6.0’.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <com.hbb20.CountryCodePicker
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/coutryCode"/>

</LinearLayout>

activity_main.xml:

MainActivity.java:

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.example.countryCodePicker.R;

Di seguito gli import necessari nel file MainActivity.java:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

}

Perché usare Country Code Picker in Android

Integrare CCP nella propria app Android offre diversi vantaggi concreti rispetto a soluzioni custom:

  • Database aggiornato: include tutti i prefissi telefonici internazionali con i relativi codici ISO, senza necessità di mantenerli manualmente.
  • UX migliorata: l’utente può cercare il paese per nome o per codice, riducendo gli errori di inserimento del numero di telefono.
  • Integrazione semplice: basta una singola dipendenza Gradle e pochi tag XML per avere il componente funzionante nella schermata.
  • Personalizzabile: supporta la personalizzazione del tema, della lingua e del paese di default attraverso attributi XML o metodi Java.

Recuperare il prefisso telefonico in Android

Una volta che l’utente ha selezionato il paese, è necessario leggere il prefisso scelto nel codice Java. Per prima cosa recupera il riferimento alla vista tramite findViewById, poi utilizza i metodi forniti dalla libreria per ottenere le informazioni desiderate:

// Recupera il riferimento al componente
CountryCodePicker ccp = findViewById(R.id.coutryCode);

// Ottieni il prefisso numerico (es. "39" per l'Italia)
String prefisso = ccp.getSelectedCountryCode();

// Ottieni il codice ISO del paese (es. "IT" per l'Italia)
String codePaese = ccp.getSelectedCountryNameCode();

// Esempio di utilizzo combinato con un campo numero di telefono
String numeroCompleto = "+" + prefisso + numeroTelefono.getText().toString();

Il metodo getSelectedCountryCode() restituisce il prefisso numerico come stringa (ad esempio 39 per l’Italia), mentre getSelectedCountryNameCode() restituisce il codice ISO a due lettere del paese selezionato (ad esempio IT). Entrambi i metodi possono essere chiamati in qualsiasi punto del ciclo di vita dell’Activity, tipicamente al momento dell’invio del form di registrazione o login.

Conclusioni sul Country Code Picker Android

Country Code Picker è una soluzione pratica e leggera per gestire la selezione del prefisso internazionale nelle app Android. Grazie alla semplicitá di integrazione — una dipendenza Gradle, un tag XML e pochi metodi Java — è adatto sia a progetti di piccole dimensioni che ad applicazioni più articolate. Evita di dover costruire e mantenere un proprio elenco di paesi, migliora l’esperienza utente nelle schermate di registrazione e login, e si adatta facilmente a qualsiasi layout esistente. Se la tua app richiede l’inserimento di un numero di telefono internazionale, CCP è la scelta più rapida ed efficace.

La classe principale estende AppCompatActivity e nel metodo onCreate viene impostato il layout: