Soru & Cevap

Uygulama Güncelleme

01.01.2019 - 10:47

Mesela bir uygulamadaki label textini baska bir uygulama da yer alan textbox a girdiğimiz metin ile firebase üzerinden nasıl güncelleriz. Thunkable appy builder fark etmez.

26 Görüntülenme

10 Cevap

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

picture-158072-1530701953.jpg
TGUNEYSU
19.01.2019 - 04:17

@Ahmet_22: Yardım etmek sizin uygulamanızı yazmam demek değildir ! Örnek uygulama vermiştim. İçinde bütün gerekenler var. Bunu inceleyip, anlayıp, kendi projenize uygulamanız lazım. Eğer yapamıyorsanız, daha okuyup araştırıp öğrenmeniz gerekir. Benden sizin kodunuzu yazmamı bekliyorsanız bu gerçekleşmeyecektir! FB kullanmayı anlamanız, AI2 komutlarını anlayıp kullanabilmeniz gerekiyor. Yoksa sağdan soldan kod kopyalayıp proje yapmaya çalışmanın bir manası yoktur. Eğer yazdığınız bir uygulama kodu varsa ve çalışmada probleminiz oluyorsa buna bakıp size yardımcı olmaya çalışabilirim. Fakat sizin kodunuzu yazmayacağım. Projeyi geliştirip zamanında yetiştirme sizin sorumluluğunuz. İyi çalışmalar.

picture-158072-1530701953.jpg
TGUNEYSU
18.01.2019 - 10:42

@Ahmet_22: sorunuzu anlamadım. Ama eğer başka bir uygulamadan bu uygulamada yapılan değişiklikleri nasıl alacağınızı soruyorsanız, bunun cevabı FirebaseDB'dendir. Bütün değişiklikler orada kayıtlı ve ikinci kademe olarak da yerel TinyDB'lerde kayıtlı. FirebaseDB kulanmanın sebebi İnternet ortamında müşterek bir veri paylaşma sağlaması.

Ahmet
18.01.2019 - 01:19
Evet FirebaseDB ile yapacağımı biliyorum fakat ben size blokları sormak istemiştim?
Ahmet
18.01.2019 - 07:44
Hocam yardım edecek misiniz? Projeyi uygulamama ekledim ve yetiştirmem lazım. Başka bir uygulamaya spinner ve label ekleyip aynı tag ve value leri nasıl çekeceğim söyleyebilir misiniz?
picture-158072-1530701953.jpg
TGUNEYSU
13.01.2019 - 12:01

Eğer siz bir TAG değerini bile sayıdan metine dönüştüremiyorsanız, gidip biraz veritabanı ve veri tiplerini öğrenmeniz gerekir. Kes / Yapıştırla programlayıcı olamazsınız !

picture-158072-1530701953.jpg
TGUNEYSU
07.01.2019 - 04:58

Linkteki Uygulamayı indirip inceleyin: [ https://drive.google.com/open?id=1bTemp_ohNfz-nUtvqhGX3fs8CWImgU8n ] 

SPINNER ekledim.

WIFI olduğu zaman FB verileri ANA veri sayıp TINYdb'yi güncelliyor.

WIFI yoksa TINYdb'yı ANA veri sayıyor. Sonra SPINNER değerleri TİNY'den yüklüyor.

FB'ye yapılan değişiklikler TINY'ye senkron oluyor. SPINNER değerleri de yapılan bütün değişiklikleri yansıtıyor.

SPINNER alanı iki türlü kullanılabilir:

1- TAG sayı ise (1 - n) o zaman Spinner değerini FB'ye kaydediyor.

2- TAG varsa ve değer=DEL ise o TAG kayıtını FB'den siliyor.

Bu sürümde kolay olsun diye SPINNER tag değerlerinin SAYI olması gerekiyor. Fakat isterseniz değiştirebilirsiniz.

Program olay takip edilsin diye bir sürü mesaj yazıyor. Gerekirse bunları kapatabilirsiniz. 

UNUTMAYIN: WIFI kontrolü APK kullandığınız zaman doğru çalışacaktır. Geliştirme yaparken WIFI gerektiğinden bunu test etmek mümkün değil. Ama cep bağlantınızı USB İle yaparsanız o zaman WIFI test edilebilir ve doğru çalışır. 

İyi çalışmalar.

Canberk ESEN
07.01.2019 - 09:51
Çok sağolun tam istediğim gibi bir içerik hazırlamışsınız ellerinize sağlık
Canberk ESEN
13.01.2019 - 01:31
Hocam ayrıca, inceledim ama çözemedim spinner daki değerleri nasil harfli yapacağız.
Ahmet
17.01.2019 - 09:44
Merhaba bu yazınızı okudum. buna bir şey eklemek istiyorum. bu uygulamanın yanında başka bir uygulama olarak sadece spinner ve label i eklesek. bu uygulamadaki ayni değerleri nasıl çekeriz ? Teşekkürler
picture-158072-1530701953.jpg
TGUNEYSU
06.01.2019 - 06:02

Evet bu yapılabilir, ama belki yerel TINYdb'ye FirebasDB'deki değerleri alıp kaydetmek gerekir. Neden: program başladığında iç değişken değerleri belli ilklenmiş değerlerdedir (ör: spinner=1, mesaj=merhaba). Siz şimdi gidip FB deki değerleri değiştirip ve bunu programa aktarmak istediğinizde, çevrimiçi bir işlem yapmış oluyorsunuz (ör: spinner=100, mesaj=nehaber ). Buraya kadar problem yok. Bu değişiklikten sonra program tekrar çalıştığında bu yeniliklerden haberi olup kendini bu değerlere göre ayarlaması gerekir. Bunu yapmak için de ya tekrar çevrimiçi FB'den veya da İnternetsiz yerel TINYdb'den değerleri okuyup kendini güncellemesi gerekir. Eğer İnternet bağlantısı problem değilse, yalnız FB ile çalışabilirsiniz. Her zaman İnternet yoksa (ki muhakkak en az bir kere her güncelleme için lazım), o zaman yerel TINYdb'den güncellemeyle çalışabilir. Bu işlem sonucu spinner değerleriniz güncelleşmiş olur.

Buraya kadar anlatılanlar program ve veritabanı senkronizasyonu ile ilgili.

Bu kısım ise, spinner gibi öğe kullanımının işlemleri ile ilgili: kodunuzda dinamik bir şekilde spinner'da seçilen değerleri ve ilgili mesajları değiştirmek istiyorsunuz. Bunu yapmak için veritabanından güncellenen bir mesaj listesi oluşturup bunu spinner değerleri ile eşleştirmeniz gerekir. Bu da gayet basit bir iş ve SCREEN.INIT olayında halledilebilir.

Bu anlattıklarımı anladıysanız, kolayca uygulayabilmeniz gerekir. Anlamadıysanız FB ve AI2 nin çalışma detaylarını bilmiyorsunuz demektir. Biraz okuyup araştırın. Şu linkten FB konusunda bilgi edinebilirsiniz: [ https://www.projehocam.com/appinventor-firebase-realtime-db/ ]

İyi çalışmalar.

Canberk ESEN
06.01.2019 - 07:48
Hocam gönderdiğiniz siteye baktım fakat nasıl yapacağımı anlamadım. " kodunuzda dinamik bir şekilde spinner'da seçilen değerleri ve ilgili mesajları değiştirmek istiyorsunuz. Bunu yapmak için veritabanından güncellenen bir mesaj listesi oluşturup bunu spinner değerleri ile eşleştirmeniz gerekir. Bu da gayet basit bir iş ve SCREEN.INIT olayında halledilebilir." Demişsiniz nasıl yapılacağını buradan anlatır mısınız?
picture-158072-1530701953.jpg
TGUNEYSU
06.01.2019 - 01:28

Kusura bakmayın, sorunuzu anlamadım. Kullanım senaryosunu biraz daha açıklayın ki yardım edebileyim.

Canberk ESEN
06.01.2019 - 03:57
Hocam mesela uygulamamız da bir spinner birde label var. Spinner da 1 tane element var diyelim onun değeri de 1 olsun. Spinner dan 1 seçildiğinde labelda merhaba yazsın diye komut verdik diyelim. Sonra spinner in değerini firebase ye aktardık ve oradan spinner daki 1 değerini mesela 100 yaptık. Uygulamadan 100 ü seçtiğimiz de yine label de merhaba yazılması veya blocklarla oynamadan firebase üzerinden veya farklı bir yöntemle (sonuçta uygulamanın bloklarını değiştirip tekrar yüklemeye gerek kalmadan) spinnerdaki 1 artık 100 olsun ve labelda merhaba değil 100 seçince naber yazsın gibi bir şey yapma şansımız var mı?
picture-158072-1530701953.jpg
TGUNEYSU
05.01.2019 - 09:15

FirebaseDB BULUT veritabanı ! Tabi ki Internet gerektiriyor. "Güncelleme" dediğiniz İnternet'siz olmaz ! Size ortak bir veritabanından dağıtma yapmanızı sağlıyor. Eğer yerel olsun isterseniz TINYDB'ye de kaydedin ve ikisini sinkronize edin. Fakat ne yaparsanız yapın, bir noktada Internet gerekecek.

Eğer bütün APP'ı güncellemek lazımsa, o zaman onun yeni sürümünü kaydedip telefondan indirin ve yenileyin. Gene Internet lazım olacak.  Bu işin başka yönü yok.

Canberk ESEN
06.01.2019 - 12:58
Hocam çok sağolun. Son bir sorum daha olacaktı. Şimdi elimizde bir spinner var bunun değerleri firebase de kayıtlı. Birde label'imiz var. Normalde spinnerdan mesela 1 değerini seçince label'da 1 yazıyor. Fakat spinnerdaki 1 değerini firebase den 2 yapınca hiçbir şey olmuyor. Label'in firebaseden 2 değerini alıp oraya 1 yazdırma şansım var mıdır?
picture-158072-1530701953.jpg
TGUNEYSU
04.01.2019 - 05:20

Örnek Uygulama: https://drive.google.com/open?id=1bTemp_ohNfz-nUtvqhGX3fs8CWImgU8n

Canberk ESEN
04.01.2019 - 11:59
Dediğiniz uygulama çok işime yaradı fakat mesela ana uygulamadaki bir texti değiştirdik. Internet kapalıyken tekrar girince eski texti gösteriyor. Guncelledigimizi nasıl telefona kaydedebiliriz ?
Profile picture for user CanberkEs
CanberkEs
03.01.2019 - 02:16
Baska bir uygulama oluşturup oradan bağlantı kurarak güncelleme şansımız yok mu?
Profile picture for user cagatay347923
cagatay347923
02.01.2019 - 10:50

FirebaseRealTimeDatabase özelliği ile anlık olarak veri güncelleyebilirsin. FirebaseRealTimeDatabase kısmına geldiğinde uygulamayı güncellemeye gerek kalmadan örneğin User adında bir modelin var onun altındada username var username girip içindeki değeri değiştirirsen anlık olarak uygulamayada yansıcaktır.

Canberk ESEN
03.01.2019 - 02:19
Baska bir uygulama oluşturup oradan bağlantı kurarak güncelleme şansımız yok mu?