====== std.android.looper ====== ALooper-Bindings für den Android Event-Loop: Datei-Deskriptoren registrieren und auf Events warten. Der Looper ist das Herzstück der nativen Android Event-Verarbeitung. → [[lyx_-_programmiersprache:units:android|std.android]] · [[lyx_-_programmiersprache:units:android:app_glue|std.android.app_glue]] ---- ===== Konstanten ===== ^ Konstante ^ Beschreibung ^ | ''ALOOPER_POLL_WAKE'' | ALooper wurde manuell geweckt | | ''ALOOPER_POLL_CALLBACK'' | Callback wurde ausgeführt | | ''ALOOPER_POLL_TIMEOUT'' | Timeout ohne Event | | ''ALOOPER_POLL_ERROR'' | Fehler beim Warten | | ''ALOOPER_EVENT_INPUT'' | Lesbar (EPOLLIN) | | ''ALOOPER_EVENT_OUTPUT'' | Schreibbar (EPOLLOUT) | ---- ===== Verwendung ===== import std.android.looper; // Auf Events warten (0 ms Timeout = nicht blockieren) var outFd: int64 := 0; var outEvents: int64 := 0; var outData: pchar := nil; var result: int64 := ALooperPollAll(0, &outFd, &outEvents, &outData); if (result >= 0) { // Event verarbeiten } // Eigenen Datei-Deskriptor registrieren ALooperAddFd(looper, myFd, LOOPER_ID_USER, ALOOPER_EVENT_INPUT, nil, nil); ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''ALooperForThread(): ALooper'' | pub | Gibt Looper des aktuellen Threads zurück | | ''ALooperPollAll(timeoutMillis: int64, outFd: *int64, outEvents: *int64, outData: *pchar): int64'' | pub | Wartet auf Events; gibt Event-ID oder Sonderwert zurück | | ''ALooperPollOnce(timeoutMillis: int64, outFd: *int64, outEvents: *int64, outData: *pchar): int64'' | pub | Wartet auf genau ein Event | | ''ALooperAddFd(looper: ALooper, fd: int64, ident: int64, events: int64, callback: pchar, data: pchar): int64'' | pub | Registriert Datei-Deskriptor im Looper | | ''ALooperRemoveFd(looper: ALooper, fd: int64): int64'' | pub | Entfernt Datei-Deskriptor aus dem Looper | | ''ALooperWake(looper: ALooper): void'' | pub | Weckt wartenden Looper auf | Letzte Aktualisierung: 2026-05-22