ContentProvider.OpenAssetFile Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| OpenAssetFile(Uri, String) |
Questo è simile |
| OpenAssetFile(Uri, String, CancellationSignal) |
Questo è simile |
OpenAssetFile(Uri, String)
Questo è simile #openFilea , ma può essere implementato dai provider che devono essere in grado di restituire sezioni secondarie di file, spesso asset all'interno del relativo .
[Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Handler")]
public virtual Android.Content.Res.AssetFileDescriptor? OpenAssetFile(Android.Net.Uri uri, string mode);
[<Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Handler")>]
abstract member OpenAssetFile : Android.Net.Uri * string -> Android.Content.Res.AssetFileDescriptor
override this.OpenAssetFile : Android.Net.Uri * string -> Android.Content.Res.AssetFileDescriptor
Parametri
- uri
- Uri
URI di cui aprire il file.
- mode
- String
Rappresentazione di stringa della modalità file. Può essere "r", "w", "wt", "wa", "rw" o "rwt". Si noti che l'implementazione esatta di questi può differire per ogni implementazione del provider, ad esempio "w" può o non troncare.
Valori restituiti
Restituisce un nuovo AssetFileDescriptor che è possibile usare per accedere al file.
- Attributi
Eccezioni
Genera FileNotFoundException se non è presente alcun file associato all'URI specificato o la modalità non è valida.
Genera SecurityException se il chiamante non dispone dell'autorizzazione per accedere al file.
Commenti
Questo è simile #openFilea , ma può essere implementato dai provider che devono essere in grado di restituire sottosezioni di file, spesso asset all'interno del proprio .apk. Questo metodo può essere chiamato da più thread, come descritto in Processi e thread.
Se si implementa questa operazione, i client devono essere in grado di gestire tali sezioni di file, direttamente con ContentResolver#openAssetFileDescriptoro usando i metodi o ContentResolver#openInputStream ContentResolver.openInputStream di livello ContentResolver#openOutputStream ContentResolver.openOutputStream superiore.
AssetFileDescriptor restituito può essere una coppia pipe o socket per abilitare lo streaming dei dati.
Se si implementa questa opzione per restituire un file completo, è necessario creare AssetFileDescriptor con AssetFileDescriptor#UNKNOWN_LENGTH per essere compatibile con le applicazioni che non possono gestire sezioni secondarie di file.
Per l'uso nelle finalità, è necessario implementare #getType per restituire il tipo MIME appropriato per i dati restituiti qui con lo stesso URI. In questo modo, la risoluzione delle finalità determinerà automaticamente il tipo MIME di dati e selezionerà le destinazioni corrispondenti appropriate come parte dell'operazione.
Per una migliore interoperabilità con altre applicazioni, è consigliabile che per tutti gli URI che possono essere aperti, è anche possibile supportare query su di esse contenenti almeno le colonne specificate da android.provider.OpenableColumns.
per android.content.ContentProvider.openAssetFile(android.net.Uri, java.lang.String).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Vedi anche
- <xref:Android.Content.ContentProvider.OpenFile(Android.Net.Uri%2c+System.String)>
- <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
- GetType(Uri)
Si applica a
OpenAssetFile(Uri, String, CancellationSignal)
Questo è simile #openFilea , ma può essere implementato dai provider che devono essere in grado di restituire sezioni secondarie di file, spesso asset all'interno del relativo .
[Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Landroid_os_CancellationSignal_Handler")]
public virtual Android.Content.Res.AssetFileDescriptor? OpenAssetFile(Android.Net.Uri uri, string mode, Android.OS.CancellationSignal? signal);
[<Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Landroid_os_CancellationSignal_Handler")>]
abstract member OpenAssetFile : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.Content.Res.AssetFileDescriptor
override this.OpenAssetFile : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.Content.Res.AssetFileDescriptor
Parametri
- uri
- Uri
URI di cui aprire il file.
- mode
- String
Rappresentazione di stringa della modalità file. Può essere "r", "w", "wt", "wa", "rw" o "rwt". Si noti che l'implementazione esatta di questi può differire per ogni implementazione del provider, ad esempio "w" può o non troncare.
- signal
- CancellationSignal
Segnale per annullare l'operazione in corso o null in caso contrario. Ad esempio, se si scarica un file dalla rete per gestire una richiesta in modalità "rw", è necessario chiamare CancellationSignal#throwIfCanceled() periodicamente per verificare se il client ha annullato la richiesta e interrompere il download.
Valori restituiti
Restituisce un nuovo AssetFileDescriptor che è possibile usare per accedere al file.
- Attributi
Eccezioni
Genera FileNotFoundException se non è presente alcun file associato all'URI specificato o la modalità non è valida.
Genera SecurityException se il chiamante non dispone dell'autorizzazione per accedere al file.
Commenti
Questo è simile #openFilea , ma può essere implementato dai provider che devono essere in grado di restituire sottosezioni di file, spesso asset all'interno del proprio .apk. Questo metodo può essere chiamato da più thread, come descritto in Processi e thread.
Se si implementa questa operazione, i client devono essere in grado di gestire tali sezioni di file, direttamente con ContentResolver#openAssetFileDescriptoro usando i metodi o ContentResolver#openInputStream ContentResolver.openInputStream di livello ContentResolver#openOutputStream ContentResolver.openOutputStream superiore.
AssetFileDescriptor restituito può essere una coppia pipe o socket per abilitare lo streaming dei dati.
Se si implementa questa opzione per restituire un file completo, è necessario creare AssetFileDescriptor con AssetFileDescriptor#UNKNOWN_LENGTH per essere compatibile con le applicazioni che non possono gestire sezioni secondarie di file.
Per l'uso nelle finalità, è necessario implementare #getType per restituire il tipo MIME appropriato per i dati restituiti qui con lo stesso URI. In questo modo, la risoluzione delle finalità determinerà automaticamente il tipo MIME di dati e selezionerà le destinazioni corrispondenti appropriate come parte dell'operazione.
Per una migliore interoperabilità con altre applicazioni, è consigliabile che per tutti gli URI che possono essere aperti, è anche possibile supportare query su di esse contenenti almeno le colonne specificate da android.provider.OpenableColumns.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Vedi anche
- <xref:Android.Content.ContentProvider.OpenFile(Android.Net.Uri%2c+System.String)>
- <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
- GetType(Uri)