load method
Retrieve a binary resource from the asset bundle as a data stream.
Throws an exception if the asset is not found.
The returned ByteData can be converted to a Uint8List (a list of bytes) using Uint8List.sublistView. Lists of bytes can be used with APIs that accept Uint8List objects, such as decodeImageFromList, as well as any API that accepts a List<int>, such as File.writeAsBytes or Utf8Codec.decode (accessible via utf8).
Implementation
@override
Future<ByteData> load(String key) async {
try {
// First try to load normally (standalone app behavior)
return await fallbackBundle.load(key);
} catch (_) {
// If it fails, assume we are running as an SDK and prepend the package path
if (!key.startsWith('packages/las_app/')) {
try {
return await fallbackBundle.load('packages/las_app/$key');
} catch (_) {}
}
rethrow;
}
}