Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
BroadcastReceiver sır gibi konu..
#1
Merhaba, android platformda, arka planda belli bir uygulamayı veya uygulamaları dinlemek ve buna göre sezgisel işler yapmaya ihtiyacınız olduğunda "dur bakalım mantığı neymiş nasılmış " dediğinizde işler epey zorlaşıyor.. Örneğin gelen aramayı yakalamak, gelen sms okumak vs.. gibi işlemler için internette nedir nasıl yapılır anlatan türkçe kaynak Delphi tarafında neredeyse yok.. Malesef ki forumlarda bunu açıkca sormak öğrenmek istemek veya türkçe kaynak beklemek, bir bilgisayar korsanıymışsınız da bu yüzden soruyormuşsunuz gibi tavır alınıp, kısa ama öğretmeyen cevaplar veya eleştiriler şeklinde dönülüyor.. Bilgi paylaşan arkadaşlarda oluyor, emeklerine sağlık ama paylaştıkları konuyu azçok bilenler için bir ışık, bilmeyenler için ise sadece bocalama oluyor. Çünkü örneklere baktığınızda ya ham bir kod kapalı açıklama veya en sonunda şöyle bir ibare "eski versiyonlarda çalışıyor ama yeniye göre uyarlanmalı" Eğer paylaşılan makaleler varsa da , malesef ki oraya erişip okuma yetkimiz olmadığı için göremiyoruz.. Oysaki diğer programlama dillerine baktığınız da (örnek Android studio, java vs gibi) bu konuları anlatmaktan, örnek vermekten hatta video paylaşmaktan kimse çekinmiyor. Delphi tarafında neden böyle anlamış değilim :Big Grin  Araştırken yazılanlara göre bir ona bir buna dönüyor parça parça bilgi toplamaya öğrenmeye çalışırken hiç bişey öğrenemeden pes ediyoruz. 

Biliyorum bu konunun bana olan zorluğu kendi eksikliğimden kaynaklı ama Sizlerden ricam, elinizde bu konu hakkında , Fesih üstadımızın anlatımları gibi bir bilgi veya kaynak varsa paylaşırsanız sevinir bu konuları zevkle öğrenmek isterim.

1) Bir servis nasıl oluşturulur.
2) broadcastreceiver android platformda olan ve arka planda çalışan bir servis midir ? Biz buna mı erişiyoruz yoksa kendimiz mi oluşturuyoruz böyle bir servisi ?
3) Biz erişiyorsak, eriştiğimiz de hangi uygulamayı dinlemek istediğimizi nasıl belirtiyoruz ?

Amacım kimseye üzmek kızdırmak, kimseyle söz dalaşına girmek değil,  sadece bir konuyu öğrenmek isteyip 6 gündür net birşey bulamamış olmamın serzenişi.. Eğer üzdüysem kırdıysam özür dilerim. Bu konuda bilgi paylaşılır veya paylaşılmaz saygı duyar, yinede bana vakit ayırdığınız için teşekkür ederim.
Mrmarman üstadım ve ugurparlayanada  bana öğrettiği bir çok konu için teşekkür ediyorum. Zevkle yazılarınız takip ediyorum
Cevapla
#2
@CesuR

Burada yaklaşımda bir aksaklık görüyorum. Şöyle ki, öncelikle kavramların ne olduğunu araştırıp ondan sonra Delphi veya başka hangi dilde yaklaşmak isterseniz öyle araştırmak sağlıklıdır.

Şimdi Android cephesinde işlerin nasıl yürüdüğünü Delphi uygulamaları üzerinden öğrenmeye çalışmak sağlıklı değil. Bir delphi sürümünde yapılan ilgili API levelde çalışan proje, yeni sürümde revizyona ihtiyaç duyuyor ve/veya çalışmıyor... Neden ? Çünkü her Android API versiyon yenilemesinde bazı kurallar yeniden yazılıyor. Örneğin daha önceki sürümlerde peşinen verilen izinler, yeni sürümlerde yazılım çalışırken runtime istenme şartına dönüşebiliyor.

Bu durumda sorunuz özelinde BroadcastReceiver nedir ne değildir konularını Android yakasından internet üzerinden araştırmanız en doğrusu.

Size güzel bir kaynak olarak Türkçe olarak Turkcell'in "Geleceği Yazanlar" platformunu önereceğim. broadcastreceiver ile ilgili linkten ön bilgiyi edinebilirsiniz. Hatta ilgili linkten yola çıkarak diğer başlıkları da incelemenizi salık veririm. Genel geçer Android platform çalışma mantığını anladıktan sonra Delphi yakasında CLASS benzerlik / fark / uyumlaştırma / köprüleme / helper işlemlerini incelersiniz.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#3
Teşekkür ederim Mrman üstadım, hemen inceledim. Çok güzel ve eğitici bir anlatım olmuş. Broadcastreceiverin android tarafında az çok ne olduğunu anlamış oldum. Cevabınızın devamındaki ( "Class benzerlik /fark" ) yorumunuzdan anladığım ise , android tarafındaki java ile oluşturulmuş sınıfları delphiye uyarlamayı öğrenmeliyim. İşte bu konularda da malesef  bir kitap veya görsel kaynak bulmak neredeyse imkansız. Aldığım bütün delphi kitapları (8 adet) ve görsel eğitimlerin hepsinde, temel eğitimler dışında konu yok. Forumlardan, google dan puzzle gibi parça parça bilgi toplamak ve öğrenmek okadar zor ki hadi bakalım hayırlısı Smile
Bana gösterdiğiniz yol için Emeğinize sağlık çok teşekkürler üstadım. Bu konudan ilerleyeyim umarım bu öğrenme isteğimde boğazımda kalmaz Smile
Cevapla
#4
(28-12-2021, Saat: 13:44)CesuR Adlı Kullanıcıdan Alıntı: Merhaba, android platformda, arka planda belli bir uygulamayı veya uygulamaları dinlemek ve buna göre sezgisel işler yapmaya ihtiyacınız olduğunda "dur bakalım mantığı neymiş nasılmış " dediğinizde işler epey zorlaşıyor.. Örneğin gelen aramayı yakalamak, gelen sms okumak vs.. gibi işlemler için internette nedir nasıl yapılır anlatan türkçe kaynak Delphi tarafında neredeyse yok.. Malesef ki forumlarda bunu açıkca sormak öğrenmek istemek veya türkçe kaynak beklemek, bir bilgisayar korsanıymışsınız da bu yüzden soruyormuşsunuz gibi tavır alınıp, kısa ama öğretmeyen cevaplar veya eleştiriler şeklinde dönülüyor.. Bilgi paylaşan arkadaşlarda oluyor, emeklerine sağlık ama paylaştıkları konuyu azçok bilenler için bir ışık, bilmeyenler için ise sadece bocalama oluyor. Çünkü örneklere baktığınızda ya ham bir kod kapalı açıklama veya en sonunda şöyle bir ibare "eski versiyonlarda çalışıyor ama yeniye göre uyarlanmalı" Eğer paylaşılan makaleler varsa da , malesef ki oraya erişip okuma yetkimiz olmadığı için göremiyoruz.. Oysaki diğer programlama dillerine baktığınız da (örnek Android studio, java vs gibi) bu konuları anlatmaktan, örnek vermekten hatta video paylaşmaktan kimse çekinmiyor. Delphi tarafında neden böyle anlamış değilim :Big Grin  Araştırken yazılanlara göre bir ona bir buna dönüyor parça parça bilgi toplamaya öğrenmeye çalışırken hiç bişey öğrenemeden pes ediyoruz. 

Biliyorum bu konunun bana olan zorluğu kendi eksikliğimden kaynaklı ama Sizlerden ricam, elinizde bu konu hakkında , Fesih üstadımızın anlatımları gibi bir bilgi veya kaynak varsa paylaşırsanız sevinir bu konuları zevkle öğrenmek isterim.

1) Bir servis nasıl oluşturulur.
2) broadcastreceiver android platformda olan ve arka planda çalışan bir servis midir ? Biz buna mı erişiyoruz yoksa kendimiz mi oluşturuyoruz böyle bir servisi ?
3) Biz erişiyorsak, eriştiğimiz de hangi uygulamayı dinlemek istediğimizi nasıl belirtiyoruz ?

Amacım kimseye üzmek kızdırmak, kimseyle söz dalaşına girmek değil,  sadece bir konuyu öğrenmek isteyip 6 gündür net birşey bulamamış olmamın serzenişi.. Eğer üzdüysem kırdıysam özür dilerim. Bu konuda bilgi paylaşılır veya paylaşılmaz saygı duyar, yinede bana vakit ayırdığınız için teşekkür ederim.
Mrmarman üstadım ve ugurparlayanada  bana öğrettiği bir çok konu için teşekkür ediyorum. Zevkle yazılarınız takip ediyorum

1- Oldukça basit. Project Manager penceresinde, Android platformu üzerinde sağ tuş ile Add Android Service menüsünü seçin.
2- Broadcastreceiver = olay (uygulamalar tarafından oluşturulan olayların bildirildiği çekirdek yapıdır)
3- Kendi servisiniz ise, dinleme ihtiyacınız olmuyor. Servis unit'i içinde işlemlerinizi gerçekleştiriyorsunuz. Servis tarafında gerçekleşen olayları, yakalamak için de SubscribeToMessage metodunu kullanabilirsiniz.

Delphi sürümünden kaynaklı sorunların çözümü de oldukça kolaydır. ---> Android servis Çalışma Sorunu 

Kaynak sorununun nedenleri;
- Kitap yazmanın maddi ve manevi yönden tatmin edici bir getirisinin olmaması
- Kitap yayınlamanın ülkemiz şartlarında maliyetinin yüksek olması
- Delphi geliştirici sayısı içerisindeki uzman geliştirici (kitap yazacak düzeyde bilgiye sahip olan) sayısının az olması. (Türkiye'deki Delphi gelişticilerin az olması da cabası) 
- Uzman geliştiricilerin iş yoğunluğu (Kitap yazacak kadar boş zamanının olmaması)

Daha önce yazan biri olarak şunu söyleyebilirim ki;
Kitap yazmak zor, Delphi kitabı yazmak çok daha zor (gelişen teknolojiyi cross-platform mimarilerde defalarca test edip, sonuç almak ve bunları değerlendirerek herkesin anlayabileceği bir dile dökmek).
O halde (kaynak üretemiyorsak, çözüm odaklı hareket etmeliyiz) uzman arkadaşlara daha çok iş ve sorumluluk düşüyor;
- İşin ehli olan arkadaşlar foruma yalnızca okumak amaçlı girmemeli. Bir cümle ile bile olsa açılan bir konuya katkıda bulunmalıdır. 
- Mümkünse 10-15 dk. ayırıp, herhangi bir konuda makale yayınlamalıdır.
- Delphi yazılım geliştirme ortamı son 10 yılda oldukça değişti ve gelişti.  Özellikle yeni teknolojiler konusunda konu açarak, bu teknolojiler anlatılmalı ve tanıtılmalıdır. Aksi taktirde Delphi'yi basic ile anmaya devam eden kör zihniyetlerin sayısı gün geçtikçe artacak ve bunun sonucu olarak eğilim diğer dillere doğru olacaktır (Geçmişte olduğu gibi). Azalan ve azalmaya devam eden Delphi geliştiricileri arasından kaynak üretecek kişi olasılığı da gittikçe azalacaktır. 
Belki de bu en iyi günlerimiz (Güncel bir kaynağımız var en azından Smile ).
Begin : = end / 2;
Cevapla
#5
Evet çok haklısınız üstadım. Her iki taraf içinde zor. Kitaplar da bulamıyoruz, birde, bilgi kirliliği yüzünden google artık eskisi kadar aradığınız şeye sizi net ulaştıramıyor. İş böyle olunca aradığımız bilgiyi bulmak için okyanuslarda yüzüyoruz resmen Big Grin Umarım bolca türkçe kaynak olurda bizlerde faydalanırız. İyiki sizin gibi konuya hakim arkadaşlarımız , üstadlarımız var yoksa biz acemiler delphinin temelinde kalıp gideceğiz. Böyle formları açıp, bilgilerini paylaşan herkese teşekkürler.
Cevapla
#6
(28-12-2021, Saat: 13:44)CesuR Adlı Kullanıcıdan Alıntı: Merhaba, android platformda, arka planda belli bir uygulamayı veya uygulamaları dinlemek ve buna göre sezgisel işler yapmaya ihtiyacınız olduğunda "dur bakalım mantığı neymiş nasılmış " dediğinizde işler epey zorlaşıyor.. Örneğin gelen aramayı yakalamak, gelen sms okumak vs.. gibi işlemler için internette nedir nasıl yapılır anlatan türkçe kaynak Delphi tarafında neredeyse yok.. Malesef ki forumlarda bunu açıkca sormak öğrenmek istemek veya türkçe kaynak beklemek, bir bilgisayar korsanıymışsınız da bu yüzden soruyormuşsunuz gibi tavır alınıp, kısa ama öğretmeyen cevaplar veya eleştiriler şeklinde dönülüyor.. Bilgi paylaşan arkadaşlarda oluyor, emeklerine sağlık ama paylaştıkları konuyu azçok bilenler için bir ışık, bilmeyenler için ise sadece bocalama oluyor. Çünkü örneklere baktığınızda ya ham bir kod kapalı açıklama veya en sonunda şöyle bir ibare "eski versiyonlarda çalışıyor ama yeniye göre uyarlanmalı" Eğer paylaşılan makaleler varsa da , malesef ki oraya erişip okuma yetkimiz olmadığı için göremiyoruz.. Oysaki diğer programlama dillerine baktığınız da (örnek Android studio, java vs gibi) bu konuları anlatmaktan, örnek vermekten hatta video paylaşmaktan kimse çekinmiyor. Delphi tarafında neden böyle anlamış değilim :Big Grin  Araştırken yazılanlara göre bir ona bir buna dönüyor parça parça bilgi toplamaya öğrenmeye çalışırken hiç bişey öğrenemeden pes ediyoruz. 

Biliyorum bu konunun bana olan zorluğu kendi eksikliğimden kaynaklı ama Sizlerden ricam, elinizde bu konu hakkında , Fesih üstadımızın anlatımları gibi bir bilgi veya kaynak varsa paylaşırsanız sevinir bu konuları zevkle öğrenmek isterim.

1) Bir servis nasıl oluşturulur.
2) broadcastreceiver android platformda olan ve arka planda çalışan bir servis midir ? Biz buna mı erişiyoruz yoksa kendimiz mi oluşturuyoruz böyle bir servisi ?
3) Biz erişiyorsak, eriştiğimiz de hangi uygulamayı dinlemek istediğimizi nasıl belirtiyoruz ?

Amacım kimseye üzmek kızdırmak, kimseyle söz dalaşına girmek değil,  sadece bir konuyu öğrenmek isteyip 6 gündür net birşey bulamamış olmamın serzenişi.. Eğer üzdüysem kırdıysam özür dilerim. Bu konuda bilgi paylaşılır veya paylaşılmaz saygı duyar, yinede bana vakit ayırdığınız için teşekkür ederim.
Mrmarman üstadım ve ugurparlayanada  bana öğrettiği bir çok konu için teşekkür ediyorum. Zevkle yazılarınız takip ediyorum
Çok doğru noktalara değinmişsin. Forumda @mrmarman, Fesih Bey gibi hem öğretici hem de teşvik edici insanların olması gerçekten güzel.
Cevapla
#7
Android sistemlerde broadcastreceiver konusunu araştırırken öğrenmiş olduğum önemli bir konuyuda sizlerle paylaşmak  isterim. Bu konuda çalışacak arkadaşların işine yaracağını eminim. 
API 27 ile yapılan yeni güncelleştirmeden sonra broadcastlerin yapısında da değişiklik yapılmış. Daha öncesinde, broadcastlerin hepsi arka planda çalışabiliyormuş. Yeni yapılan düzenlemeye göre artık bunların bazıları arka planda bazıları ön planda çalışmak üzere ikiye ayrılmış. Bunun içinde bir liste hazırlayıp sunmuşlar.  Bu liste dışında olanlar arka planda direk çalıştırılamayacakmış. ( öyle deselerde Detaylı yollardan yinede çalıştırılabiliyor..) Örneğin aşağıdaki listede uçak modunu alındığında arka planda bir broadcast yayınlamanın bir anlamı yok , uygulama ön plandayken yapılsın denmiş..

1) Arka planda çalışacak broadcastler
2) Ön planda çalışacak broadcastler

Arka planda çalışabilecek broadcastlerin listesi. Bu listede olmayan ön planda çalışacakmış

o5ed6p.png
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Ön kamerayı sensör gibi kullanma gonulali 3 2.078 22-01-2022, Saat: 11:54
Son Yorum: Jakarta2
  TRectangle nesnesini ProgressBar gibi kullanmak ferhatcelik 2 1.641 24-03-2021, Saat: 23:00
Son Yorum: ferhatcelik
  Facebook gibi bildirim hakanharbeli 6 5.539 03-07-2019, Saat: 11:44
Son Yorum: cemakkus
  Control Shirbazı gibi bir şey var mı? nehirnnn 7 6.569 04-12-2017, Saat: 08:43
Son Yorum: edo
  ListView GlyphButton nesnesini CheckBox gibi kullanmak Fesih ARSLAN 0 3.697 24-07-2016, Saat: 17:25
Son Yorum: Fesih ARSLAN



Konuyu Okuyanlar: 1 Ziyaretçi