Bu eğitim, kullanıcıların bir yer seçmesine ve oraya puan vermesine izin veren bir uygulamanın nasıl geliştirileceğini anlatmaktadır. Kullanıcılar belirli bir konumun/yerin fotoğraflarını ekleyebilecekler.
Hazırlık ve Tasarım
Uygulamanızı tasarlamaya başlamadan önce ne tür verilere ihtiyaç duyacağınızı düşünelim. Bu örnek için ihtiyacımız olacak veriler;
- İsim: Yerlerin başlığını tutmak için
- Konum: Harita verilerinden gelecek olan konum koordinatları
- İlçe: Yerin ilçesi
- Şehir: Yerin şehri
- Adres Detaylı adres
- Posta Kodu: Posta kodu
- Fotoğraf(lar): Yer fotoğrafları. (Çok sayıda olabilir.)
- Değerlendirme: Yerin derecelendirmesi.
Veri alanlarınıza karar verdikten sonra, verileri nasıl toplamak ve kullanıcıya sunmak istediğinizi, kısacası, kullanıcı arayüzü hakkında düşünün. Bu örnekte fonksiyonelliği göz önüne alarak 3 farklı form oluşturacağız;
- Konum Bilgisi Formu: Bir yer ekleme.
- Fotoğraf Formu: Seçilen yere fotoğraf eklemek için.
- Derecelendirme Formu: Kullanıcıların bir yer seçmesine, konum verilerini görmesine ve bir değerlendirme yapmasına izin vermek için.
Lütfen unutmayın, araç çubuğundan “Kaydet” düğmesine tıkladıktan sonra Xpoda Studio veritabanı sağında alanlar oluşturacaktır.
Emin olmak için “Kaydet” düğmesini sık sık kullanın, aksi takdirde verilerinizi kaybedebilirsiniz.
Uygulama Geliştirme
Uygulama verilerimizi ve kullanıcı ara yüzümüzü tasarladığımıza göre, Xpoda Studio kullanarak bir uygulama geliştirmenin zamanı geldi. Xpoda Studio'ya giriş yapın ve yeni bir form ekleyelim.
Konum Bilgisi Formu
Yeni bir form ekleyin ve “Konum Bilgileri” olarak adlandırın. Araç çubuğundan “İsim” , “Konum”, “İlçe” , “Şehir”, “Adres”, “Posta Kodu” ekleyin. Lütfen Posta Kodu alanının Figures Box seçmeye dikkat edin.
Fotoğraf Formu
Bu form, konumun/yerin birden fazla fotoğrafını eklemek için olacaktır. İlk olarak, araç kutusundan bir “Picture” alanı ekleyelim.
Şimdi, Konum formu verilerimiz ile Fotoğraf formu verilerimiz arasında bir ilişki oluşturmalıyız. Bunu yapmak için forma bir metin alanı ekliyoruz ve adını “konum” koyuyoruz. Bu alan seçili iken, özellikler bölmesinden (sağ taraftaki bölme), Type alanını “Authority of Field” olarak seçin ve Type of Authority değerini “It can not see fields” olarak seçin. Bu işlemin adından Fields alanını “Konum” olarak seçip, Konum alanının görünmemesini sağlayacağız.
Konum formunun içinde Fotoğraf formuna ulaşabilmek için bir buton ekleyelim ve tıklandığında Fotoğraf formu açılsın.
Bunun için butona tıklayıp sağ taraftan "Add New Action" seçiyoruz. Type of Action alanı "When Clicked", Operation alanı "Open Form - Linked" olmalıdır.Ardından Module ve Form alanlarını da seçelim.
Ardından "Mapping" yaparak iki formun arasında ilişki tanımlamamız gerekmektedir. Bunun için seçerek aksiyonumuzu kaydedelim. Mapping sihirbazına tıklayıp aşağıda göründüğü gibi bir mapping gerçekleştirelim
Değerlendirme Formu
Şimdi, oluşturulan yerleri değerlendirmek için bir değerlendirme formu oluşturmaya hazırız. İlk adımda oluşturduğumuz konum/yer verilerini görüntülemek için alanlar oluşturun ve değerlendirme yapabilmeleri için bir Rating, değerlendirme ortalaması için Figures Box ve kullanıcıların yorum ekleyebilmesi için Text Box alanları ekleyelim. Harita üzerinde konumu göstermek için araç kutusundan Map bileşenini ve konum ile ilgili fotoğrafları görüntüleyebilmek için Picture List aracını ekleyelim. Formun nihai sonucu şu şekilde olacaktır;
Konum verilerini göstermek için bu forma veri sağlamalıyız. Xpoda'da bunu gerçekleştirmek için “Queries” kullanıyoruz. Formu seçin, Actions sekmesinden “Add New Action ”a tıklayın ve Type of Action alanını “When the form is opened” seçip Operation kısmını “Update Value” olarak belirleyip Value Area alanına da Map_1’i ekleyelim. Böylece form açıldığında form açıldığında veri güncelleyebilirsiniz.
Şimdi aşağıdaki sorguyu kullanalım;
SELECT
XP_KONUMLAR.Konum,
XP_KONUMLAR.Isim
FROM dbo.XP_KONUMLAR WITH (NOLOCK)
Kullanıcı belirli bir harita konumuna tıkladığında konum/yer verilerini almak için harita aracına da bir aksiyon eklemeliyiz. Haritayı seçin ve özellik bölmesinden “Add New Action”a tıklayın. “When clicked / Update Value” aksiyonunu ekleyin. Aşağıda gösterildiği gibi değer alanı olarak “Konum” seçin.
Ve son olarak, kullanıcı harita üzerinde bir konum işaretine tıkladığında Konum Bilgisi Formunda konum / yer verilerini göstermek istiyoruz. Bunu yapmak için yine Aksiyonları kullanıyoruz. Konum alanını seçin, Özellik Bölmesinden “Add New Action”a tıklayın. “On Value Change / Create New Data Object” çiftini seçin. Bu aksiyonun çalışması için aşağıdaki sorguyu eklemeliyiz;
SELECT
XP_KONUMLAR.Isim,
XP_KONUMLAR.Ilce,
XP_KONUMLAR.Sehir,
XP_KONUMLAR.Adres,
XP_KONUMLAR.Posta_Kodu
FROM dbo.XP_KONUMLAR WITH (NOLOCK)
WHERE XP_KONUMLAR.Konum = '$PKonum'
Bu sorgu bir nesne oluşturacaktır. Biz buna “KONUMBILGISI” adını verdik.
Şimdi form üzerindeki herhangi bir bileşeni bağlayabileceğimiz bir veri nesnesi oluşturduk. Sırayla formdaki textbox bileşenini seçin ve Özellik Bölmesinde bulunan Linked Object kısmına yeni oluşturulan “KONUMBILGISI” nesnesini seçin.
Ardından, seçilen konumun fotoğraflarını göstermemiz gerekiyor. Yine konum bileşenini seçin ve yeni bir aksiyon ekleyin. “On Value Change / Update Value” çiftini ekleyelim ve Value Area olarak “ImgList_1” seçin. Veri bağlamak için sorgu kullanın ve sorgu kutusuna aşağıdaki sorguyu girin;
SELECT
XP_KONUM_FOTOGRAF.Img_1
FROM dbo.XP_KONUM_FOTOGRAF WITH (NOLOCK)
WHERE XP_KONUM_FOTOGRAF.Konum = '$PKonum'
Seçilen konumların ortalama derecelendirmesini göstermek için aksiyonu tekrar kullanın. “On Value Change / Update Value” çiftini seçin. Value Field için “Degerlendirme_Ort” öğesini seçin. Veri bağlamak için sorgu kullanın. Sorgu kutusuna aşağıdaki sorguyu girin;
SELECT
AVG(XP_DEGERLENDIRME.Degerlendirme)
FROM XP_DEGERLENDIRME WITH (NOLOCK)
WHERE XP_DEGERLENDIRME.Konum = '$PKonum$'
Son olarak başvurumuzu tamamladık. Başvurunuzu görmek için “Çalıştır ”a tıklayın.