Paket | flash.desktop |
Arabirim | public interface IFilePromise |
Uygulayıcılar | MediaPromise, URLFilePromise |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Dosya izni, kullanıcının AIR uygulaması dışında var olmayan bir dosyayı sürüklemesine olanak sağlayan sürükleyip bırakma pano biçimidir. AIR, dosya taahhüdü bırakıldığında yazılacak verilere erişmek için IFilePromise arabirimi tarafından tanımlanan yöntemleri ve özellikleri kullanır.
Dosya taahhüdü uygun bir hedefe bırakıldığında, AIR uygulaması IFilePromise open()
yöntemini çağırır. Bu yöntemin uygulanması, IDataInput arabirimini uygulayan bir nesne olarak veri sağlayıcısını döndürmelidir. Sağlayıcı nesnesi, ByteArray, FileStream, Socket ve URLStream gibi yerleşik sınıflardan biri olabilir ya da özel bir sınıf olabilir.
Veri sağlayıcısındaki verilere eşzamanlı olarak erişilirse (örn. ByteArray ile olduğu gibi), AIR uygulaması IDataInput bytesAvailable
özelliği tarafından belirtilen veri miktarını okur ve bunları hedef dosyaya yazar.
Veri sağlayıcısındaki verilere eşzamansız olarak erişilirse (örn. Socket ile olduğu gibi), AIR uygulaması veri okuma ve dosyaya yazma işlemini düzenlemek için sağlayıcı tarafından gönderilen olayları kullanır. Bir tamamlama veya kapatma olayı alınıncaya kadar veriler her ilerleme olayında okunur. Aşağıdaki olaylar için çalışma zamanı dinler (ancak veri sağlayıcısının her olayı göndermesine gerek yoktur):
- Event.OPEN
- ProgressEvent.PROGRESS
- ProgressEvent.SOCKET_DATA
- Event.COMPLETE
- Event.CLOSE
- IOErrorEvent.IOERROR
- SecurityErrorEvent.SECURITY_ERROR
- HTTPStatusEvent.HTTP_STATUS
- HTTPStatusEvent.HTTP_RESPONSE_STATUS
Özel veri sağlayıcı sınıfları, veriler kullanılabilir olduğunda bir progress
olayı veya bir socketData
olayı göndermelidir. Aynı şekilde, tüm istenen veriler okunduğunda bir complete
veya close
olayı gönderilmelidir. Hata olayları, veri aktarımının başarısız olduğunu ve durdurulması gerektiğini çalışma zamanına bildirir. Diğer olaylar, hata işlemeye ve hata ayıklama uygulama mantığına yardımcı olmak için uygun şekilde gönderilmelidir.
IFilePromise tarafından tanımlanan yöntemler yalnızca bir sürükleyip bırakma işlemi tamamlandıktan sonra AIR çalışma zamanı tarafından çağrılmak üzere tasarlanmıştır. Geliştiriciler genellikle bu yöntemleri kendi kodlarından çağırmamalıdır.
Not: air.desktop kütüphanesinde bulunan URLFilePromise sınıfı IFilePromise arabirimini uygular ve veri sağlayıcı olarak URLStream kullanır. air.desktop kütüphanesi AIR SDK içerisinde ayrı SWF ve SWC dosyaları olarak bulunur.
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
isAsync : Boolean [salt okunur]
Eşzamansız veri aktarımının desteklenip desteklenmediğini belirtir. | IFilePromise | ||
relativePath : String [salt okunur]
Bu dosya izni tarafından oluşturulacak dosyanın göreceli yolu ve dosya adı. | IFilePromise |
Yöntem | Tanımlayan: | ||
---|---|---|---|
Tüm verileri okumayı bitirdiğinde AIR çalışma zamanı tarafından çağrılır. | IFilePromise | ||
Veri sağlayıcısı nesnesini döndürür. | IFilePromise | ||
Veri sağlayıcısı nesnesinden veriler okunurken gerçekleşen hataların IFilePromise uygulamasını bilgilendirmek için AIR çalışma zamanı tarafından çağrılır. | IFilePromise |
isAsync | özellik |
isAsync:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Eşzamansız veri aktarımının desteklenip desteklenmediğini belirtir.
true
olursa, open()
yöntemi tarafından döndürülen veri sağlayıcısı nesnesinin IEventDispatcher arabirimini uygulaması (veya bu arabirimi uygulayan bir sınıfı genişletmesi) gerekir. Veri aktarımı, progress
veya socketData
olayları tarafından tetiklenir. AIR uygulaması, bir complete
veya close
olayı gönderilinceye kadar bu veri ilerleme olaylarını bekler.
isAsync
öğesi false değerini döndürürse, AIR çalışma zamanı tüm verilerin hemen kullanılabilir olduğunu varsayar. Bu durumda, çalışma zamanı, kullanılabilir veri miktarını belirlemek için veri sağlayıcısı nesnesinin bytesAvailable
özelliğini okur ve veri miktarını eşzamanlı olarak okur.
Uygulama
public function get isAsync():Boolean
relativePath | özellik |
relativePath:String
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Bu dosya izni tarafından oluşturulacak dosyanın göreceli yolu ve dosya adı.
Bu özellik geçerli bir yol sağlamalıdır, yoksa dosya taahhüdü bırakıldığında bir argüman hatası atılır.
Yol, bırakma konumuna göre çözümlenen alt dizinler içerebilir. Gerekirse alt dizinler oluşturulur. Alt dizinleri dahil ederken, geçerli işletim sistemi için uygun yol ayırıcı karakterini eklemek üzere File.separator
sabitini kullanın. Üst dizine gitmek için .. kısayolunun kullanılmasına izin verilmez. Denenirse, bir bağımsız değişken atılır. Geçersiz dosya sistemi karakterleri hata atılmadan yoldan kaldırılır.
Not: İstemci kodunun yolu ayarlamasına olanak sağlamak için, imza ile bir ayarlayıcı işlevi uygulayabilirsiniz: function set relativePath( value:String ):void
.
Uygulama
public function get relativePath():String
Atar
ArgumentError — Göreceli yol bırakma hedefinin bir veya daha fazla üst dizinine geçiş yapmak için kısayol kullanıyorsa.
|
close | () | yöntem |
public function close():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Tüm verileri okumayı bitirdiğinde AIR çalışma zamanı tarafından çağrılır.
close()
çağrıldıktan sonra open()
tarafından döndürülen nesne başvurusunda herhangi bir yöntem çağrılmaz. Veri sağlayıcısı nesnesi güvenli şekilde imha edilebilir.
open | () | yöntem |
public function open():IDataInput
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Veri sağlayıcısı nesnesini döndürür.
Veri sağlayıcısı nesnesinin, veri okumaya yönelik yöntemleri tanımlayan IDataInput arabirimini uygulaması gerekir. IFilePromise isAsync
özelliği true
değerini döndürürse, veri sağlayıcısı nesnesinin IEventDispatcher arabirimini de uygulaması gerekir. Şu yerleşik sınıflar, veri sağlayıcısı olarak kullanılabilir:
- ByteArray (eşzamanlı)
- FileStream (eşzamanlı veya eşzamansız)
- Socket (eşzamansız)
- URLStream (eşzamansız)
Gerekli arabirimleri uygulayan (veya bunları uygulayan başka bir sınıfı genişleten) bir özel sınıf nesnesi de sağlayabilirsiniz.
DöndürürIDataInput — IDataInput IDataInput arabirimini uygulayan bir nesne. Veriler eşzamansız olarak sağlanırsa, döndürülen nesnenin IEventDispatcher arabirimini de uygulaması gerekir.
|
reportError | () | yöntem |
public function reportError(e:ErrorEvent):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2 |
Veri sağlayıcısı nesnesinden veriler okunurken gerçekleşen hataların IFilePromise uygulamasını bilgilendirmek için AIR çalışma zamanı tarafından çağrılır.
Parametreler
e:ErrorEvent — Ayrıntılı hata bilgilerini içeren hata olayı.
|
Tue Jun 12 2018, 01:09 PM Z