# BrotherPrintHelper - Native Android App

Native Android App zum Drucken von Barcodes auf Brother P-touch E560BT über Bluetooth.

## Projekt-Setup

### 1. Android Studio Projekt erstellen

1. **Android Studio öffnen**
2. **New Project** → **Empty Activity**
3. Einstellungen:
   - Name: `BrotherPrintHelper`
   - Package name: `de.data_it_solution.brotherprinthelper`
   - Save location: Beliebig
   - Language: **Kotlin**
   - Minimum SDK: **API 24 (Android 7.0)** oder höher
   - Build configuration language: **Kotlin DSL (build.gradle.kts)**

### 2. Brother SDK herunterladen

1. **Brother Developer Portal:** https://developerprogram.brother-usa.com/sdk-download
2. **Android Mobile SDK** herunterladen (neueste Version)
3. SDK entpacken

### 3. Brother SDK integrieren

**Option A: AAR-Datei (empfohlen):**
1. SDK-AAR-Datei in `app/libs/` kopieren
2. In `app/build.gradle.kts` einfügen:
```kotlin
dependencies {
    implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.aar"))))
    // ... andere dependencies
}
```

**Option B: Maven (falls verfügbar):**
```kotlin
dependencies {
    implementation("com.brother.sdk:brotherprintsdk:4.+")
}
```

### 4. Dateien aus diesem Verzeichnis übernehmen

Kopiere folgende Dateien in dein Android Studio Projekt:

- `AndroidManifest.xml` → `app/src/main/AndroidManifest.xml` (merge mit bestehendem)
- `MainActivity.kt` → `app/src/main/java/de/data_it_solution/brotherprinthelper/MainActivity.kt`
- `build.gradle.kts` → `app/build.gradle.kts` (merge Dependencies)

### 5. Projekt kompilieren

```bash
./gradlew assembleDebug
```

### 6. APK installieren

**Über USB:**
```bash
adb install app/build/outputs/apk/debug/app-debug.apk
```

**Über Android Studio:**
- Run → Run 'app'

## Verwendung

### Von HandyBarcodeScanner PWA aufrufen

```javascript
// In scanner.js oder barcode_print.js
function openBrotherPrintApp(barcodeValue) {
    const intent = `intent://print?barcode=${encodeURIComponent(barcodeValue)}#Intent;` +
                   `scheme=brotherprint;` +
                   `package=de.data_it_solution.brotherprinthelper;` +
                   `end`;

    window.location.href = intent;
}

// Beispiel-Aufruf
openBrotherPrintApp('1234567890');
```

### Workflow

1. User scannt Barcode in HandyBarcodeScanner PWA
2. PWA ruft `openBrotherPrintApp()` auf
3. BrotherPrintHelper App öffnet sich
4. App verbindet sich mit Brother P-touch E560BT
5. Druckt Barcode auf 24mm Label
6. Kehrt automatisch zur PWA zurück

## Drucker-Konfiguration

Die App ist vorkonfiguriert für:
- **Drucker:** Brother P-touch E560BT
- **Label-Breite:** 24mm
- **Barcode-Format:** CODE128
- **Verbindung:** Bluetooth

Anpassungen in `MainActivity.kt`:
```kotlin
val labelSize = QLPrintSettings.LabelSize.W24
val printerModel = QL_820NWB // Ggf. anpassen
```

## Troubleshooting

### App startet nicht
- Bluetooth-Permissions in AndroidManifest.xml vorhanden?
- Brother SDK korrekt in libs/ integriert?

### Drucker nicht gefunden
- Drucker in Android Bluetooth-Settings gepaart?
- Drucker eingeschaltet und in Reichweite?
- Brother SDK unterstützt dieses Modell?

### Druck schlägt fehl
- Label eingelegt? (24mm Breite)
- Drucker-Status OK? (keine Fehler-LED)
- Template-ID korrekt?

## Entwickler-Info

**Autor:** Eduard Wisch (data@data-it-solution.de)
**Lizenz:** Proprietär
**Version:** 1.0.0
**Brother SDK Version:** 4.x
**Min Android:** API 24 (Android 7.0)
**Target Android:** API 34 (Android 14)

## Links

- Brother Developer Portal: https://developerprogram.brother-usa.com/
- Brother SDK Doku: https://support.brother.com/g/s/es/htmldoc/mobilesdk/
- HandyBarcodeScanner: https://git.data-it-solution.de/data/dolibarr.handybarcodescanner
