Uygulamanın otomatik çalışması.

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
Cevapla
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Uygulamanın otomatik çalışması.

Mesaj gönderen brs »

Merhaba;

Projemi tamamlamak üzereyim fakat tam can alıcı yerde takıldım;
Telefona uygulama yüklendiğin de programın arka planda çalışmaya devam etmesi ve telefon kapanıp açıldığında da bunun aynı şekilde arka planda çalışması nasıl sağlayabilirim?...
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: Uygulamanın otomatik çalışması.

Mesaj gönderen greenegitim »

yanılmıyorsam servis uygulaması yapmak gerekmiyormuydu bunun için?
Mücadele güzelleştirir!
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Uygulamanın otomatik çalışması.

Mesaj gönderen fesiharslan »

Merhaba;
greenegitim yazdı:yanılmıyorsam servis uygulaması yapmak gerekmiyormuydu bunun için?
Doğru diyorsunuz. Yalnızca mobil değil tüm platformlarda arka plan işlemleri Servis uygulamaları ile yapılır.
brs yazdı:Merhaba;

Projemi tamamlamak üzereyim fakat tam can alıcı yerde takıldım;
Telefona uygulama yüklendiğin de programın arka planda çalışmaya devam etmesi ve telefon kapanıp açıldığında da bunun aynı şekilde arka planda çalışması nasıl sağlayabilirim?...
Aslında bir projeye başlamadan önce, proje analizi yapılarak gereksinimler belirlenmeli ve bu doğrultuda projeye başlanmalıdır. Sonradan çıkan ihtiyaçlar çoğu zaman projenin gelişim sürecinden daha uzun sürebilmektedir.
Proje kapsamını bilmiyorum ama arka plan işlemleri için mutlaka servis uygulaması olması gerekiyor. Mobil yaşam döngüsünü incelerseniz uygulamalar arka plana alındıktan belli bir süre sonra sonlandırılırlar. Fakat servis uygulamaları arka planda etkin olduklarından sonlanırılımazlar.
Moralinizi daha fazla bozmadan bir çözüm yolu önereyim.
Ana uygulamanız aynen kalsın. Uygulamanız Host (Ana) uygulama olur. Bu uygulamaya yeni bir servis uygulaması ekleyin. (Project > Add New Project > Other... > Delphi Projects > Android Service ) Tüm arka plan işlemleri bu servis uygulamasına yaptırılır.
İyi akşamlar...
En son fesiharslan tarafından 06 Haz 2016 10:25 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Uygulamanın otomatik çalışması.

Mesaj gönderen brs »

Uygulamayı yeni projeye taşıya bilirim sorun değil, sadece biraz zaman kaybı olacak varsın olsun...
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Uygulamanın otomatik çalışması.

Mesaj gönderen brs »

İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Uygulamanın otomatik çalışması.

Mesaj gönderen brs »

Sealam;

https://www.youtube.com/watch?v=xZvUqoASPdY

örnek uygulama üzerinden videoyu izleyerek yapıyorum fakat sorunla karşılaştım bu sıkıntı neden olabiliri?

Resim


Resim
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Uygulamanın otomatik çalışması.

Mesaj gönderen fesiharslan »

Merhaba;
Öncelikle şunu belirteyim ki, bu hata değil bir uyarıdır. Yani ilerleyen süreçte kod ve nene yapısına bağlı olarak olabilecek muhtemel sorunlar için uyarıdır.
Bu uyarının asıl sebebine gelecek olursak; Oluşturulan servis uygulaması ile DataModule'de kullanılan nesne veya sınıflar arasında bir uyumsuzluk var.
Yani DataModule sınıf yapısı FMX veya VCL mimarisine olmalıdır. Yada daha temelde TPersistent olabilir.

Çözüm için;
DataModule'de tasarım ekranında geçtikten sonra, Object Inspector pencesinden ClassGroup özelliğini, proje yapısına göre değiştirin. Bu değişiklik sonucunda, implementation bölümünün altında secim durumuna göre %CLASSGROUP derleyici direktifi otomatik olarak değişecektir.

ClassGroup'u FMX seçmeniz durumuna, projede yalnızca FMX yapısındaki nesne veya sınıflar kullanılabilir, VCL sınıf veya nesneler kullanılmaz ve ilerleyen süreçte bu uyumsuzluk hataya neden olabilir.
Implementation bölümüne direktif de otomatik olarak aşağıdaki gibi olacaktır. Bu kod yapısı oluşmamış ise manüel yazın.

Kod: Tümünü seç

 {%CLASSGROUP 'FMX.Controls.TControl'}
ClassGroup'u VCL seçmeniz durumuna, yalnızca VCL sınıf yapıları kullanılabilecek, FMX sınıf veya nesneler kullanılmaz.
Implementation bölüm direktifi aşağıdaki gibi olması gerekiyor.

Kod: Tümünü seç

 {%CLASSGROUP 'Vcl.Controls.TControl'}
ClassGroup'u Persistent seçmeniz durumuna en temel sınıf yapısı (VCL ve FMX tipleri) ortak kullanılır.
Implementation bölüm direktifi aşağıdaki gibi olması gerekiyor.

Kod: Tümünü seç

 {%CLASSGROUP 'System.Classes.TPersistent'}
İyi çalışmalar...
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Uygulamanın otomatik çalışması.

Mesaj gönderen fesiharslan »

Yukarıda anlattığım işlemlere ilave olarak;
Bag olduğunu düşündüğüm bir durumu da ayrıca düzeltmek gerekiyor. Object Inspector'dan ClassGroup'u seçmenize rağmen (Projeyi kaydettikten sonra kapatıp açın. Muhtemelen bu seçim boş gelecektir.) bu seçim alanı iptal ediliyor.
Bunun çözümü için de
Servis uygulamasındaki CLASSGROUP direktifinin süslü parantezlerinin iç kısımlarında birer boşluk var. Bu boşlukları kapatarak projeyi kaydedin ve kapatıp açın.

Kod: Tümünü seç

implementation

{%CLASSGROUP 'FMX.Controls.TControl'}

{$R *.dfm}
Böylece DataModule'ün ClassGroup'u FMX.Controls.TControl olarak sabitlenecektir.
Daha sonra projeyi test edin.

Not: Bu durum ilk Android Service oluştururken meydana geliyor. Sonradan ClassGroup'u değiştirdiğinizde süslü parantezlerinin iç kısımlarındaki boşluk oluşmaz.

İyi çalışmalar...
Kullanıcı avatarı
Serhat
Üye
Mesajlar: 203
Kayıt: 27 Tem 2014 11:10

Re: Uygulamanın otomatik çalışması.

Mesaj gönderen Serhat »

fesiharslan yazdı:Yukarıda anlattığım işlemlere ilave olarak;
Bag olduğunu düşündüğüm bir durumu da ayrıca düzeltmek gerekiyor. Object Inspector'dan ClassGroup'u seçmenize rağmen (Projeyi kaydettikten sonra kapatıp açın. Muhtemelen bu seçim boş gelecektir.) bu seçim alanı iptal ediliyor.
Bunun çözümü için de
Servis uygulamasındaki CLASSGROUP direktifinin süslü parantezlerinin iç kısımlarında birer boşluk var. Bu boşlukları kapatarak projeyi kaydedin ve kapatıp açın.

Kod: Tümünü seç

implementation

{%CLASSGROUP 'FMX.Controls.TControl'}

{$R *.dfm}
Böylece DataModule'ün ClassGroup'u FMX.Controls.TControl olarak sabitlenecektir.
Daha sonra projeyi test edin.

Not: Bu durum ilk Android Service oluştururken meydana geliyor. Sonradan ClassGroup'u değiştirdiğinizde süslü parantezlerinin iç kısımlarındaki boşluk oluşmaz.

İyi çalışmalar...

Selam;

Video ya bakarak sıfırdan (Multi-device Application - Delphi) den yeni bir proje oluşturmama rağmen;
Resimdeki benzer hatayı alıyorum, ilk başta run aktif oluyor fakat Android service oluşturduğum an run pasif hale geliyor bu neden kaynaklı olabilir?
https://www.youtube.com/watch?v=xZvUqoASPdY


Resim
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Uygulamanın otomatik çalışması.

Mesaj gönderen mkysoft »

Hazır uygulamalar var bu amaçla geliştirilmiş, onlardan birini kullanabilirsiniz belki. Örnek: https://play.google.com/store/apps/deta ... .autostart
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Uygulamanın otomatik çalışması.

Mesaj gönderen brs »

mkysoft yazdı:Hazır uygulamalar var bu amaçla geliştirilmiş, onlardan birini kullanabilirsiniz belki. Örnek: https://play.google.com/store/apps/deta ... .autostart

Selam, güzel bir öneri yanlis anlamadiysam kendi uygulamamla. Beraber sizin vermis oldugunuz linkdeki uygulamayida telefona yukleyip sonra benim projeyi secip telefon kapanip acildiginda otomatik olarak baslatacak mi? eğer boyle ise yaptigim uygulamanin hiçbir degeri kalmaz ve benim uygulamayi telefona yukleyen kisilerin kulaklarimi fazlasiyla cinlatirlar.

Ilginize tesekkur ederim...
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Cevapla