# Inicialización del Manager

Esta guía explica cómo instanciar la clase `PeripheralsManager`. Esta clase sirve como el controlador central para todas las operaciones de hardware, incluyendo la impresión, el escaneo y la configuración del dispositivo.

El `PeripheralsManager` gestiona la conexión de bajo nivel con el hardware del terminal. No necesitas abrir o cerrar conexiones manualmente; el manager lo gestiona automáticamente al instanciarlo.

## Paso 1: Crear la instancia del Manager

Para empezar a usar la biblioteca, debes crear una instancia de `PeripheralsManager`. El constructor requiere el `Context` actual de la aplicación o de la Activity.

```
import com.redsys.peripherals.PeripheralsManager; // Example package import

// Inside your Activity or Service
PeripheralsManager manager = new PeripheralsManager(this);
```

Una vez inicializada, la conexión con el terminal se establece automáticamente.

## Buenas prácticas

### Uso de un patrón Singleton

Es muy recomendable mantener una **única instancia** de `PeripheralsManager` durante todo el ciclo de vida de tu aplicación. La creación de múltiples instancias puede provocar conflictos de recursos o problemas de estabilidad en la conexión.

**Enfoque recomendado:**

Inicializa el manager una vez (por ejemplo, en tu clase `Application` o utilizando un framework de inyección de dependencias como Dagger/Hilt) y pase esta referencia a las activities o fragments que la necesiten.

### Ejemplo: Inicialización a nivel de aplicación

```
public class MyApplication extends Application {
    private PeripheralsManager peripheralsManager;

    @Override
    public void onCreate() {
        super.onCreate();
        // Initialize once with Application context
        peripheralsManager = new PeripheralsManager(this);
    }

    public PeripheralsManager getPeripheralsManager() {
        return peripheralsManager;
    }
}
```

## Próximos pasos

Ahora que tienes un manager inicializado, puedes proceder a:

* [Impresión de bitmaps](/es/get-smart/peripheralslib-integration-guide/guides/printing-bitmaps)  
* [Escaneo de códigos de barras](/es/get-smart/peripheralslib-integration-guide/guides/scanning-barcodes)  
* [Configuración del modo quiosco del terminal](/es/get-smart/peripheralslib-integration-guide/guides/configuring-terminal-kiosk-mode)