Fmx olayları yaşam döngüsü

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
AfterPost
Üye
Mesajlar: 158
Kayıt: 12 Tem 2014 10:22

Fmx olayları yaşam döngüsü

Mesaj gönderen AfterPost »

Değerli arkadaşlar ; mobil işletim sistemleri sistem kaynaklarını kullanmaya çok izin vermiyor , manul olay yönetici oluşturup kontrol etmeye çalışıyoruz; uygulamanın kendiliğinden kapanmaması için bir yönetici oluşturdum fakat yine de sorun çıkıyor . Önerisi olan var mı?
Server REST windows client mobil android database frirebird haberleşme data set JSON

Kod: Tümünü seç

function TfMain.MobilOlaylar(Olaylar: TApplicationEvent;
  sender: TObject): Boolean;
begin


 case Olaylar of

 TApplicationEvent.FinishedLaunching:  ;
 TApplicationEvent.BecameActive:  ;
 TApplicationEvent.WillBecomeInactive: 
 begin
 showmessage('Uyku moduna geçtim')  ;  //uygulama arka plana alınırken buraya ne yazmam gerekli
 Abort;
 end;
 TApplicationEvent.EnteredBackground:  ;  //uygulama arka plana alındığında
 TApplicationEvent.WillBecomeForeground:  ;
 TApplicationEvent.WillTerminate:  ;    // uygulama sonlandığında
 TApplicationEvent.LowMemory: ;
 TApplicationEvent.TimeChange: ;
 TApplicationEvent.OpenURL: ;

 end;
 result := true;
end;

end.
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Fmx olayları yaşam döngüsü

Mesaj gönderen ertank »

Merhaba,

Bildiğim kadarıyla hiçbir mobil platform normal uygulamanın sürekli çalışmasına izin vermiyor. Pil tasarrufu ve sistemin hızlı çalışmasını sebep gösteriyorlar.

Mobil uygulama çok geliştirmedim. Tecrübem yok denecek kadar az. Android için eskiden background service gerekiyordu. Son sürümlerinde artık "foreground service" gerekiyor. Servis kullanarak daha uzun süre işlem yapmanız mümkün. Ancak ana uygulama ile servis farklıdır. Servis olsa dahi sürekli çalışır mı bunu da bilmiyorum.

iOS tarafı ile ilgili de bilgim yok. Ancak iOS daha sıkı kontrollere sahip diye okumuştum.

Mobil platformlarda uygulamalar sürekli çalışmadan gerektiğinde devreye girmesini sağlayacak parametre gönderebileceğiniz notifikasyon sistemi var. Bu sistem işletim sistemi seviyesinde çalışıp uygulamanızı tetiklemeye yardımcı olabiliyor. Ancak notifikasyonlar da anlık işlemler olmuyor. Gecikebiliyor ya da telefona hiç iletilmeyebiliyor.

Size neden sürekli uygulamanın çalışıyor durumda olmasını istiyorsunuz?
AfterPost
Üye
Mesajlar: 158
Kayıt: 12 Tem 2014 10:22

Re: Fmx olayları yaşam döngüsü

Mesaj gönderen AfterPost »

uygulamanın arka planda kırılması kullanıcının tekrardan giriş yapmasına neden oluyor . Mobil adisyon oluşturulduğu için açık kalması önemli.
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Fmx olayları yaşam döngüsü

Mesaj gönderen ertank »

Ben bu tür işlemlerde bağlı kalma zorunluğu olduğuna inanmıyorum.
Mesela mobil tarafı REST web servis ile çalışılıp ilk kullanıcı adı ve şifre bilgilerini akılda tutup (INI dosyasına saklanabilir mesela) sonraki işlemlerde token süresi geçmiş ise otomatik login işlemi yapılıp ardından asıl ne yapılacak ise yapılır.
AfterPost
Üye
Mesajlar: 158
Kayıt: 12 Tem 2014 10:22

Re: Fmx olayları yaşam döngüsü

Mesaj gönderen AfterPost »

Rest Servisten aldığı kullanıcı tablosunu zaten kullanici.Execute ederek JSON u dataset e çevirip combobox in içine atıyorum orda sorun yok;
AfterPost
Üye
Mesajlar: 158
Kayıt: 12 Tem 2014 10:22

Re: Fmx olayları yaşam döngüsü

Mesaj gönderen AfterPost »

Mobil işletim sistemi, uygulamayı arka plana almak üzereyken : Uygulama Olayı TApplicationEvent.WillBecomeInactive devreye giriyor
hemen ardından MainFormun OnDeactivate olayı tetikleniyor ve uygulamayı işletim sistemi kapatmıyor.
İşine yarayan olur diye yazmak istedim. :cry:

Kod: Tümünü seç

 Result := False;
  case Olaylar of
   TApplicationEvent.WillBecomeInactive:
   if Assigned (OnDeactivate) then Abort;
  end;
 Result := True;
Cevapla