Soru & Cevap

Ürün kategori listesi yapmak istiyorum lütfen yardım...

02.07.2020 - 03:11

Selamu aleyküm kardeşler.

Yaklaşık 100'e yakın bir ürün listesi ve her ürünün birden çok özellikleri mevcüt.

örneğin:

ürün1  =  özellik1,   özellik2,   özellik3,   özellik4,  özellik5

ürün2  =  özellik1,   özellik2,   özellik3,   özellik4,  özellik5

ve.......

istedğim ise:

app ınverter de Spinner'e ürün listesini çektim ve herhangi bir ürünü seçtiğimde o ürüne ait özellikler

Label1 = özellik1

Label2 = özellik2

Label3 = özellik3 ve ....

Bu konuda herhangi örnek çalışma bulamadım kendimce yapmaya çalıştım fakat beceremedim.

Yardımlarınızı rica ederim.

32 Görüntülenme

7 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-104581-1593960763.png
ahatbek
04.07.2020 - 12:49
Hocam tüm veriler blok içine yazılacak yani veritabanı kullanılmayacak. ABir Bir Bir arkadaşın soru cevap çalışma video'şunu izledim soru index'ine cevapları ayrı ayrı getiriyor fakat rastgele ve iç içe kodlar ondan bir şey çıkartamadım.
picture-158072-1530701953.jpg
TGUNEYSU
03.07.2020 - 07:58
Tabi elle girmeyeceksiniz bütün verileri. Bu sadece size nasıl çalışacağı için bir örnektir. Veri tabanı için uygulamanın çalışma yöntemi ve verilerin güncellenme gereksinimine göre değişik teknikler kullanılabilir: * TinyDB * TinyWebDB * CSV Olarak yükleme * FirebaseDB * CloudDB * JSON olarak webden alma vb.
picture-104581-1593960763.png
ahatbek
03.07.2020 - 04:27

Allah razı olsun öeneğinizi denedim ve işivi gördü. Uygulamayı geliştirmeye çalışıyorum eğer takıldığım bir yer olursa tekrar rahatsız edebilirim.

Teşekkürler.

picture-104581-1593960763.png
ahatbek
03.07.2020 - 04:27

Hocam yaklaşık 90 ürün girmem gerek dolayısı ile çok uzun bir kod bloğu ortaya çıkar bunun daha kısa bir kod bloğu yazılabilirmi?

picture-158072-1530701953.jpg
TGUNEYSU
03.07.2020 - 11:14

Bu işi yapmak için AI2 nin yeni özelliklerinden olan DICTIONARY kullananız daha uygun olacaktır.

Bu sayede, eğer verileriniz programa JSON formatında geliyorsa (web de kullanılan en popüler format), içeri almanız çok kolay olur.

Programın açıklaması:

Resim linki: https://drive.google.com/file/d/1h-5FvJLqUBfehkwt4NaUpx5534xCsw9x/view?usp=sharing

Görsel kaldırıldı.

DICTIONARY verileri key:value (anahtar:değer) çifleri halinde saklar. Size yolladığım örneğe göre bu her ürün için şu halde oluşturulur:

ANAHTAR      DEĞER
ÜRÜN-1       ANAHTAR      DEĞER
             renk         beyaz
             ebat         GxY
             tip          tipA
             adet         10

ÜRÜN-2       ANAHTAR      DEĞER
             renk         mavi
             ebat         GxY
             tip          tipB
             adet         20

vb.

Buradan anlaşılacağı gibi, ÜRÜN adı ilk anahtar oluyor ve onun özellikleri de arkasına bir anahtar:değer listesi olarak çifler halinde yazılıyor.

Bloklara bakınca bunu daha kolay anlarsınız.

DICTIONARY yaratıldıktan sonra, onu kullanmak çok kolay.

Sizin veriniz iki kademeli olduğu için (1ci kademe - ÜRÜN adı, 2ci kademe - ÖZELLİKLER), verilere ulaşmayı "get value at key path" bloğu ile yapacaksınız. Burada PATH, yani takip edilecek yol, sizin anahtar değerlerinizin listesi: ÜRÜN adı, ÖZELLİK adı.

ÜRÜN adı SPINNER a yüklediğiniz değerlerden geliyor: SPINNER.selection veya bloğun SELECTION değeri.

ÖZELLİKLER de renk, ebat,tip, ve adet anahtarlarıyla ulaştığınız veri değerlerinden geliyor.

Bu iki yöntemle Ürün detaylarınızı ekrana aktarırsınız.

Örnek Program linki: https://drive.google.com/file/d/1-MGAUA7AgKEqYdz7HIqEMLQzcghJURmD/view?usp=sharing

DICTIONARY bu işi yapmak in kullanılacak tek yöntem değildir.

Aynı tip bir teknikle, basit LİSTE de kullanılabilir. Fakat birden fazla kademeli listelere ulaşmak kod görüntüsü bakımından temiz değildir.

Ayrıca, verilerinizin neredden geldiğine göre, eğer JSON kullanacaksanız, DICTIONARY daha uygundur.

Veri tabanı olarak TinyDB ile test edebilirsiniz. TinyDB de vei saklamayı key:value halinde yaptığı için, çalışma yönteminiz örnek programa uyar.

İyi çalışmalar

picture-104581-1593960763.png
ahatbek
02.07.2020 - 10:10

Aslında pek fazla bir kod yazamadım yukarıda dediğim gibi açılır kutu (Spinner)den ürün seçtiğimde o ürüne ait özellikler ilgili label'lere gelmesini istiyorum.

ben iki tür değişken hazırladım hangisi daha kolay ise onu kullanalım.

Bu arada ürün adları Spinner'in ElementsFromString bölümüne yazdım.

teşekkürler.

/sites/default/files/cevaplar/dosya/2020/file-urun_ozellikleri.jpg /sites/default/files/cevaplar/dosya/2020/file-ekran_goruntusu.jpg
picture-158072-1530701953.jpg
TGUNEYSU
02.07.2020 - 07:16

Yazdığınızdan probleminizi anlayamadım. Biraz daha detay verebilir misiniz?

Kodunuzu da görmek yardımcı olabilir.