Uygulamanın otomatik çalışması.
Uygulamanın otomatik çalışması.
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?...
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...
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: Uygulamanın otomatik çalışması.
yanılmıyorsam servis uygulaması yapmak gerekmiyormuydu bunun için?
Mücadele güzelleştirir!
- fesiharslan
- Üye
- Mesajlar: 591
- Kayıt: 20 Eki 2006 11:37
- Konum: Erzurum
- İletişim:
Re: Uygulamanın otomatik çalışması.
Merhaba;
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...
Doğru diyorsunuz. Yalnızca mobil değil tüm platformlarda arka plan işlemleri Servis uygulamaları ile yapılır.greenegitim yazdı:yanılmıyorsam servis uygulaması yapmak gerekmiyormuydu bunun için?
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.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?...
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.
Re: Uygulamanın otomatik çalışması.
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...
Re: Uygulamanın otomatik çalışması.
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Re: Uygulamanın otomatik çalışması.
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?


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?


İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
- fesiharslan
- Üye
- Mesajlar: 591
- Kayıt: 20 Eki 2006 11:37
- Konum: Erzurum
- İletişim:
Re: Uygulamanın otomatik çalışması.
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.
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.
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.
İyi çalışmalar...
Ö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'}
Implementation bölüm direktifi aşağıdaki gibi olması gerekiyor.
Kod: Tümünü seç
{%CLASSGROUP 'Vcl.Controls.TControl'}
Implementation bölüm direktifi aşağıdaki gibi olması gerekiyor.
Kod: Tümünü seç
{%CLASSGROUP 'System.Classes.TPersistent'}
- fesiharslan
- Üye
- Mesajlar: 591
- Kayıt: 20 Eki 2006 11:37
- Konum: Erzurum
- İletişim:
Re: Uygulamanın otomatik çalışması.
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.
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...
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}
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...
Re: Uygulamanın otomatik çalışması.
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.
Böylece DataModule'ün ClassGroup'u FMX.Controls.TControl olarak sabitlenecektir.Kod: Tümünü seç
implementation {%CLASSGROUP 'FMX.Controls.TControl'} {$R *.dfm}
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

Re: Uygulamanın otomatik çalışması.
Hazır uygulamalar var bu amaçla geliştirilmiş, onlardan birini kullanabilirsiniz belki. Örnek: https://play.google.com/store/apps/deta ... .autostart
Re: Uygulamanın otomatik çalışması.
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...