Los recursos públicos se centran en patrones reproducibles. SDK, firmware y documentación restringida permanecen en canales de distribución autorizados.
Evidencia comparable con método, versión y límites.
- La opción exacta de impresora, el ancho del papel y los tipos de salida admitidos.
- Una etiqueta de prueba o recibo que no contiene datos reales del cliente o de pago.
- Un trabajador o propietario de una rutina que puede serializar trabajos de impresión.
Estándar de publicación
Integre Android empresarial con evidencia versionada.
Los recursos públicos se centran en patrones reproducibles. SDK, firmware y documentación restringida permanecen en canales de distribución autorizados.
- 01
Construir modelo de una página
Mantenga elementos de texto, códigos de barras e imágenes dentro de una página con restricciones explícitas de ancho y alto. No disperse las coordenadas entre los controladores de clic.
- 02
Verifique el estado antes de renderizar
Trate la ocupación, la falta de papel, el exceso de temperatura, el bajo voltaje y el error del controlador como estados distintos del operador. Un mensaje genérico de "error de impresión" no es suficiente para la recuperación.
- 03
Serializar y cancelar
Deshabilite el envío de duplicados mientras el trabajador sea propietario de la impresora. Un trabajo cancelado debe cerrar el recurso y dejar una ruta de reintento despejada.
- 04
Validar la salida física
Mida el ancho del papel, la legibilidad del código de barras, la cantidad de alimentación, el contraste, el comportamiento térmico y las condiciones de la batería. Registre el firmware de la impresora y la configuración de accesorios.
Aplicaciones de ejemplo / Kotlin
Patrones de SDK y API
El puerto posee llamadas de proveedores y mapeo de estado. El modelo de página sigue siendo utilizable en una prueba unitaria.
data class PrintJob(
val title: String,
val lines: List<String>,
val barcode: String?,
)
sealed interface PrintResult {
data object Printed : PrintResult
data class Blocked(val reason: String) : PrintResult
data class Failed(val reason: String) : PrintResult
}
interface PrintPort {
suspend fun print(job: PrintJob): PrintResult
}
suspend fun runPrint(port: PrintPort, job: PrintJob): PrintResult =
runCatching { port.print(job) }
.getOrElse { PrintResult.Failed("driver-error") }Distribución de SDK
Control de publicación
No se publica ningún binario del fabricante, referencia de API, firmware ni ejemplo de código fuente sin registrar el permiso de redistribución y el alcance compatible.
Mantenga el trabajo en cola o solicite al operador que vuelva a intentarlo; no envíe llamadas de páginas paralelas.
Muestre la acción de recuperación específica y espere un nuevo estado antes de volver a intentarlo.
Verifique el ancho de la página, la zona silenciosa y el tamaño del módulo para conocer la configuración exacta de la impresora.
Cancele o finalice según la política del trabajo, luego cierre la impresora en el trabajador.
Estados de evidencia
Evidencia comparable con método, versión y límites.
- 01
Imprima texto, un código de barras y una imagen con el ancho de papel objetivo.
- 02
Interrumpa la operación y verifique que la impresora esté liberada.
- 03
Pruebe estados de ocupado, sin papel, calor, voltaje y error del controlador.
- 04
Confirme que no se escriban datos de clientes, pagos o credenciales en registros o accesorios.
Recursos
Patrones de SDK y API
No se publica ningún binario del fabricante, referencia de API, firmware ni ejemplo de código fuente sin registrar el permiso de redistribución y el alcance compatible.