AAssetManager-Bindings zum Lesen von Dateien aus dem APK-Assets-Verzeichnis. Assets werden zur Build-Zeit ins APK gepackt und sind zur Laufzeit schreibgeschützt verfügbar.
→ std.android · std.android.native_activity
import std.android.asset;
// AssetManager aus ANativeActivity beziehen
var mgr: AAssetManager := activity.assetManager;
// Datei öffnen und lesen
var asset: AAsset := AAssetOpen(mgr, "config.json", AASSET_MODE_BUFFER);
if (asset = nil) {
AndroidLogError("App", "Asset nicht gefunden");
return;
}
var len: int64 := AAssetGetLength(asset);
var buf: pchar := AAssetGetBuffer(asset);
// buf enthält die Rohdaten; len gibt die Bytezahl an
AAssetClose(asset);
| Konstante | Beschreibung |
|---|---|
AASSET_MODE_BUFFER | Gesamte Datei in Speicher laden |
AASSET_MODE_STREAMING | Sequenzielles Lesen (große Dateien) |
AASSET_MODE_RANDOM | Wahlfreier Zugriff (seek) |
| Signatur | Sichtbarkeit | Beschreibung |
|---|---|---|
AAssetOpen(mgr: AAssetManager, name: pchar, mode: int64): AAsset | pub | Öffnet Asset-Datei; gibt nil bei Fehler zurück |
AAssetGetLength(asset: AAsset): int64 | pub | Gibt Dateigröße in Bytes zurück |
AAssetGetBuffer(asset: AAsset): pchar | pub | Gibt Zeiger auf Dateiinhalt zurück (nur BUFFER-Modus) |
AAssetRead(asset: AAsset, buf: pchar, count: int64): int64 | pub | Liest bis zu count Bytes in buf; gibt gelesene Bytes zurück |
AAssetSeek(asset: AAsset, offset: int64, whence: int64): int64 | pub | Setzt Leseposition |
AAssetClose(asset: AAsset): void | pub | Schließt Asset und gibt Ressourcen frei |
Letzte Aktualisierung: 2026-05-22