Mobil uygulamalarda Image bileşeni iş akışı, web uygulamalarındaki iş akışından biraz farklıdır. Bu makale, mobil uygulamada Image bileşeninin nasıl kullanılacağını ayrıntılı olarak açıklamaktadır. List ve Grid bileşenlerinin öğeleri gibi yinelenen öğelerde, Veri modelinden Image yüklenmesi açık değildir ve BP kullanılarak yükleme için belirli bir prosedür gerektirir.

Yinelenen öğelerde Image bileşeni kullanımı ( List/Grid )

Uçuş tablomuza sahip olduğumuz ve her uçuş nesnesinin ImageFile alanı [ file ] tarafından temsil edilen kendi kapağına sahip olduğu bir örnek görelim.

0_dataModel

Uçuş listesinin List bileşeniyle temsil edildiğini hayal edin. List bileşeninin her bir öğesi - ilgili uçuş bilgilerini görüntülemek için Image ve birkaç diğer bileşeni içeren bir Card bileşenidir. UI tasarımcısında şu şekilde görünür:

uiux

Her şeyden önce, ana bileşen için Data Source belirtilmelidir (bu durumda List bileşeni).

01_select_from_model

Veri tabanından Image bileşenine veri yüklemek için, Image bileşeni için yeni bir iş süreci oluşturmamız gerekiyor.

02_openBP

Gerekli BP, uygulamada bir görüntü öğesinin, yani onCreate tetikleyicisinin oluşturulmasıyla başlar. Her şeyden önce, verilen görüntüye karşılık gelen veri modelinin nesnesini almak gerekir. Bunu yapmak için, ana öğe tarafından önceden alınmış olan verileri kullanabilirsiniz ( Bu durumda List ). List'ten veri almak için List List Get Data bloğu kullanılır.

03_bp_1

Oluşturmakta olduğumuz BP'nin mantığı şu şekildedir: Data dizisi elemanlarından ( flight modeli nesnesi) biri, Record ID eşit bir tanımlayıcıya ( ID ) sahipse, ihtiyacımız olan uçuş tablosu öğesini bulduk. Ardından, görüntü dosyası ID , uçuş modeli nesnesinden alınır ve gerekli Widget ID ile Görüntü bileşenine yüklenir.

Data dizisinin tüm öğeleri üzerinde yineleme yapmak için, For each loop BP bloğu kullanılır ve döngünün gövdesinde, Data dizisinin her bir öğesi Expand Flight bloğu kullanılarak genişletilir. Flight ID = Record ID ise, ImageFile dosya tanımlayıcısı alınır ve dosya nesnesi, Server request GET /_files/:id/download/ bloğu kullanılarak yüklenir. Karşılık gelen BP örneği aşağıdaki gibidir.

03_bp_2

Sonraki adımda, bayt dizisini Image Update Properties bloğunun Data özelliğine girdi olarak geçirmek için Expand file bloğu kullanılarak görüntü dosyası genişletilir. Sayfadaki belirli bir görüntü öğesinin Widget ID belirtmek ve BP'nin başlangıcında onCreate bloğundan değeri iletmek de gereklidir. BP'nin son bölümünün sonucu aşağıdaki örnekte gösterilmiştir:

03_bp_3

Sonunda, Break Loop bloğu, dizinin kalan öğelerini boşuna yinelememek için kullanılır.

break loop

Kullanıcının akıllı telefonunun dosya sisteminden bir görüntü yükleme

Bir kullanıcı profili avatarı yükleme örneğini düşünün. Web arayüzü, bir görüntü ve BP'yi başlatan bir düğmeden oluşur ve şöyle görünür:

11_ui

Ardından ilgili BP, Select Files bloğunu kullanarak kullanıcının cihazından dosyaları seçmesine izin verir. Ve dosyalar başarılı bir şekilde seçildiyse, index = 0 olan eleman alınır. Karşılık gelen BP şöyle görünür:

12_bp_1

Files dizisinin sonuçtaki dosya öğesi, daha fazla kullanım için web uygulama sunucusuna yüklenmelidir ( Server request POST /_files/ ). İstek başarılı olursa, Server request POST /_files/ bloğunun çıkışındaki dosya nesnesi, bir Bytes Array almak için Expand file bloğunun girişine iletilir, bu da içinde Image Update Properties bloğunun girişine iletilir. Data özelliği.

13_bp_2

Was this article helpful?

AppMaster.io 101 Çarpışma Kursu

10 Modüller
2 haftalar

Nereden başlayacağınızdan emin değil misiniz? Yeni başlayanlar için hızlandırılmış kursumuzla başlayın ve AppMaster'ı A'dan Z'ye keşfedin.

Kursa Başlayın
Development it’s so easy with AppMaster!

Daha Fazla Yardıma mı ihtiyacınız var?

Herhangi bir sorunu uzmanlarımızın yardımıyla çözün. Zamandan tasarruf edin ve uygulamalarınızı oluşturmaya odaklanın.

headphones

İletişim desteği

Bize sorununuzu anlatın, size bir çözüm bulalım.

message

Topluluk Sohbeti

Soruları sohbetimizde diğer kullanıcılarla tartışın.

Topluluğa Katılın