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.
→ std.android · 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
