XE5 Android Geliştirme Hakkında Sorular;
XE5 Android Geliştirme Hakkında Sorular;
Merhaba;
XE5 çıktıktan sonra tüm delphiciler gibi bende çok heyecanlandım. Tabii ki yeni çıkan bir teknoloji (bizim için) kaynak kısıtlılığıda yaratıyor. Ben bu konuda tecrübeli arkadaşlarımdan bir kaç talebim olacaktı. Java bilgim olmadığı için biraz zorluk çektim tabii ama alışmaya çalışıyorum. Farklı başlıklar olmaması adına tüm sorularımı tek başlık altında toplamaya çalışacağım.
1) XE5 ile uzak veritabanına (MySQL,MSSQL) hangi comp. ile bağlanabiliyoruz? (Hepsini denedim ama driver hatası gibi birşey alıyorum)
2) Android ile socket programlama üzerine çalışan ve tecrübe eden var mı?
3) Form ve bileşenlere style giydirmek için (Renk,biçim vs) hangi yolu izliyoruz? ya da hazır skin paketi var mı?
4) Webbrowser ile Post-Get işlemleri yapılabiliyor mu? (Ben yapamadım OLEObj hataları var)
5) Dahili Bluetooth desteği olmadığından Java Class'larını bu yörengede nasıl kullanabilirm. (Youtube de örnek var ama sınırlı)
6) Bir uygulamayı arka planda (Servis olarak yada başka şekilde) nasıl çalıştırabiliriz? ( Kullanıcıya göstermeden ve devamlı)
7) Uygulama boyutları çok yüksek olabiliyor bunları nasıl düşürebilirim?
Forum yöneticileri "geçici olarak" konuyu sabitleyebilirlerse aklında soru olanlar bu konuya ekleyebilir ve cevaplarda buradan yürütülebilir. Böylece forumda kalabalık oluşmaz.
İyi çalışmalar...
XE5 çıktıktan sonra tüm delphiciler gibi bende çok heyecanlandım. Tabii ki yeni çıkan bir teknoloji (bizim için) kaynak kısıtlılığıda yaratıyor. Ben bu konuda tecrübeli arkadaşlarımdan bir kaç talebim olacaktı. Java bilgim olmadığı için biraz zorluk çektim tabii ama alışmaya çalışıyorum. Farklı başlıklar olmaması adına tüm sorularımı tek başlık altında toplamaya çalışacağım.
1) XE5 ile uzak veritabanına (MySQL,MSSQL) hangi comp. ile bağlanabiliyoruz? (Hepsini denedim ama driver hatası gibi birşey alıyorum)
2) Android ile socket programlama üzerine çalışan ve tecrübe eden var mı?
3) Form ve bileşenlere style giydirmek için (Renk,biçim vs) hangi yolu izliyoruz? ya da hazır skin paketi var mı?
4) Webbrowser ile Post-Get işlemleri yapılabiliyor mu? (Ben yapamadım OLEObj hataları var)
5) Dahili Bluetooth desteği olmadığından Java Class'larını bu yörengede nasıl kullanabilirm. (Youtube de örnek var ama sınırlı)
6) Bir uygulamayı arka planda (Servis olarak yada başka şekilde) nasıl çalıştırabiliriz? ( Kullanıcıya göstermeden ve devamlı)
7) Uygulama boyutları çok yüksek olabiliyor bunları nasıl düşürebilirim?
Forum yöneticileri "geçici olarak" konuyu sabitleyebilirlerse aklında soru olanlar bu konuya ekleyebilir ve cevaplarda buradan yürütülebilir. Böylece forumda kalabalık oluşmaz.
İyi çalışmalar...
Re: XE5 Android Geliştirme Hakkında Sorular;
Benim de Android ve Java hususlarında fazla bir malümatım yok ama yine de elimden geldiğince belki bir yardımı olur umudu ile bir şeyler yazmak istedim.
Birinci sorunuza cevaben mobil ortamlardan herhangi bir RDBMS'e direkt bağlanmanızı önermem. Bağlantılar stabil değil, sürekli kopmalar yaşanabiliyor bu da veritabanı programcılığını çileli bir hale getirebilir. Bu amaca hizmet etmesi için bence Datasnap son derece ideal. Ancak FireDAC ile yada Devart'ın Unidac gibi bileşenleri ile MS-Sql hariç, diğer pek çok veritabanına erişebilirsiniz. Malumunuz odur ki, bir veritabanı sunucusuna erişim sağlamak için bazı client kütüphaneleri gerekiyor ve benim bildiğim kadarı ile henüz Android ortamında Sql Server'a erişim sağlayan bir client kütüphane yok. Olsaydı da tercih edilmemesi gerektiğini düşünüyorum.
Üçüncü sorunuzun cevabı Firemonkey stilleri. Firemonkey'de stillerle alakalı pek çok kaynak var onların size yardımcı olabileceğini düşünüyorum. Android ve IOS için premium pack altında 2 adet stil mevcut ancak Windows için oluşturulmuş stilleri de Android uygulamalarında kullanabiliyorsunuz. Android projenizin üzerine bir adet TStyleBook atın ve üzerine çift tıklayın, sonraki yolculuk epey uzun
Dördüncü sorunuza yine kısıtlı bilgimle yanıt vermeye gayret edeyim. TWebbrowser android ortamında Windows ortamında olduğu gibi çalışmıyor. Pek çok özelliği bulamayacaksınız. Bildiğiniz üzere Win32/64 ortamlarında web browser IE'nin bir COM yansımasından başka bir şey değil. Android ortamında ise com yok. d.android.com adresindeki android.webkit.WebView sınıfının imlemente edilmiş hali. Ancak bu sınıfı implemente ederken bir hata yapmışlar javascript kodlarının çalıştırılması hakkında. Bu sorunu aşmak için; FMX.Webbrowser.Android.pas dosyasını uygulamanızın olduğu klasöre kopyalamanız ve TAndroidWebBrowserService.DoNavigate metodunun içindeki
satırını iptal etmeniz yada özelleştirmeniz gerekiyor. Aksi taktirde; TWebbrowser.Navigate('javascript:' + 'Script kodunuz'); biçimindeki kodlarınızı çalıştıramıyorsunuz.
Beşinci sorunuza bilgim dahilinde http://delphiforumu.com/questions/1190/ ... rne%C4%9Fi adresinde yanıt vermeye çalıştım, sevgili sadettin'de güzel bir video paylaşmış aynı linkte, oradan istifade edebileceğinizi düşünüyorum.
Altıncı sorunuza kısaca şimdilik Delphi ile yapamıyoruz diye cevap verilebilir sanırım. Henüz Delphi'nin bir java sınıfınfan miras alalabilme yeteneği yok, ama JNI ile bir çok native sınıfa erişip kullanabiliyorsunuz. Yakın bir zamanda bu sıkıntının da giderileceğini umuyorum.
Yedinci sorunuz ise hepimizin sıkıntısı, özellikle mobil ortamda uygulama boyutları biraz önem arzediyor. Şimdilik en basit iyileştirme işlemi, uygulamanızı Release olarak derlemeniz olacaktır.
Birinci sorunuza cevaben mobil ortamlardan herhangi bir RDBMS'e direkt bağlanmanızı önermem. Bağlantılar stabil değil, sürekli kopmalar yaşanabiliyor bu da veritabanı programcılığını çileli bir hale getirebilir. Bu amaca hizmet etmesi için bence Datasnap son derece ideal. Ancak FireDAC ile yada Devart'ın Unidac gibi bileşenleri ile MS-Sql hariç, diğer pek çok veritabanına erişebilirsiniz. Malumunuz odur ki, bir veritabanı sunucusuna erişim sağlamak için bazı client kütüphaneleri gerekiyor ve benim bildiğim kadarı ile henüz Android ortamında Sql Server'a erişim sağlayan bir client kütüphane yok. Olsaydı da tercih edilmemesi gerektiğini düşünüyorum.
Üçüncü sorunuzun cevabı Firemonkey stilleri. Firemonkey'de stillerle alakalı pek çok kaynak var onların size yardımcı olabileceğini düşünüyorum. Android ve IOS için premium pack altında 2 adet stil mevcut ancak Windows için oluşturulmuş stilleri de Android uygulamalarında kullanabiliyorsunuz. Android projenizin üzerine bir adet TStyleBook atın ve üzerine çift tıklayın, sonraki yolculuk epey uzun
Dördüncü sorunuza yine kısıtlı bilgimle yanıt vermeye gayret edeyim. TWebbrowser android ortamında Windows ortamında olduğu gibi çalışmıyor. Pek çok özelliği bulamayacaksınız. Bildiğiniz üzere Win32/64 ortamlarında web browser IE'nin bir COM yansımasından başka bir şey değil. Android ortamında ise com yok. d.android.com adresindeki android.webkit.WebView sınıfının imlemente edilmiş hali. Ancak bu sınıfı implemente ederken bir hata yapmışlar javascript kodlarının çalıştırılması hakkında. Bu sorunu aşmak için; FMX.Webbrowser.Android.pas dosyasını uygulamanızın olduğu klasöre kopyalamanız ve TAndroidWebBrowserService.DoNavigate metodunun içindeki
Kod: Tümünü seç
if Pos('http', URL) = 0
then Insert('http://', NewURL, 0);"
Beşinci sorunuza bilgim dahilinde http://delphiforumu.com/questions/1190/ ... rne%C4%9Fi adresinde yanıt vermeye çalıştım, sevgili sadettin'de güzel bir video paylaşmış aynı linkte, oradan istifade edebileceğinizi düşünüyorum.
Altıncı sorunuza kısaca şimdilik Delphi ile yapamıyoruz diye cevap verilebilir sanırım. Henüz Delphi'nin bir java sınıfınfan miras alalabilme yeteneği yok, ama JNI ile bir çok native sınıfa erişip kullanabiliyorsunuz. Yakın bir zamanda bu sıkıntının da giderileceğini umuyorum.
Yedinci sorunuz ise hepimizin sıkıntısı, özellikle mobil ortamda uygulama boyutları biraz önem arzediyor. Şimdilik en basit iyileştirme işlemi, uygulamanızı Release olarak derlemeniz olacaktır.
Re: XE5 Android Geliştirme Hakkında Sorular;
Tuğrul Hocam çok teşekkür ederim. Engin bilgilerinizle bizleri aydınlattığınız için. İyi bir yol haritası oldu benim ve diğer kardeşlerim için.
- sadettinpolat
- Moderator
- Mesajlar: 2130
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Re: XE5 Android Geliştirme Hakkında Sorular;
Tugrul Hocaya ek olarak Android servisler ile ilgili su uygulamanin linkini paylasayim.
https://play.google.com/store/apps/deta ... ServiceApp
Uygulamayi yazan kisi henuz kaynak kodu yayinlamadi , yakin bi zamanda blogunda yayinlar diye tahmin ediyorum.
https://play.google.com/store/apps/deta ... ServiceApp
Uygulamayi yazan kisi henuz kaynak kodu yayinlamadi , yakin bi zamanda blogunda yayinlar diye tahmin ediyorum.
Re: XE5 Android Geliştirme Hakkında Sorular;
Estağfirullah engin değil, kısıtlı bilgilerim var; enginlik kim biz kim.G.Arkas yazdı:Tuğrul Hocam çok teşekkür ederim. Engin bilgilerinizle bizleri aydınlattığınız için. İyi bir yol haritası oldu benim ve diğer kardeşlerim için.
Re: XE5 Android Geliştirme Hakkında Sorular;
Delphi ile Android platformuna program geliştirmek şuan için sıkıntılı ve yetersiz olduğu görülüyor. İlerde daha iyi olacağı malum fakat bence android için google Android Studio programı takibe alınmalı zira amaca özel tasarlandığı için daha avantajlı olacağı kesin...
Re: XE5 Android Geliştirme Hakkında Sorular;
ugrul hocam xe5 ile fire monkey android ile mdb dosyalarına baglantı nasıl oluyor konu hakkında bir bilginiz varmı
Re: XE5 Android Geliştirme Hakkında Sorular;
Merhaba Mustafa bey, Android altından uzaktaki bir Access veritabanına nasıl bağlanırsınız bir fikrim yok. FireDAC yada DevArt'ın componentleri bunu destekliyor mu orasından da tam emin değilim, ancak; yapabiliyor olsanız da bunu yapmamanızı öneririm.! Çünkü mobil cihazlardaki internet bağlantısı stabil değil, en azından bir veritabanı bağlantısı için stabil değil. Sürekli kopmalar yaşarsınız. Sürekli bağlı bir yapı yerine sadece veriye ihtiyacınız olduğunda bağlanacağınız bir yapı tercih etmeniz daha akla yakın olacaktır kanaatimce. Bunun için de benim bildiğim en güzel ve hızlı çözüm Datasnap.
Re: XE5 Android Geliştirme Hakkında Sorular;
Tugrul Hocam ilgilenipte cevap yazdıgınız için teşekkur ederim çok yogun oldugunuzu tahmin edebiliyorum benim delphide hazırladıgım bir telefon rehberi vardı mdb veri taabanından yapılma bunu hem xe5 android ögrenmek hemde o programı ablette çalıştırmak için baglantı kurmayı deniyorum ama odbc surucusu kullandıgımda odbc surucusu açılmıyor diyor firibird sqlite ve hemen hemen diger butun veritabanı baglantı suruculerinde şu hata çıkıyor ben nerede hata yapıyorum acaba
Re: XE5 Android Geliştirme Hakkında Sorular;
HATA MESAJI BU :Failed:"DBX Error:Driver could not be properly iniialized.Client library may be missing,
not installed properly,of the wrong version,or he driver may be missing from the system path."
not installed properly,of the wrong version,or he driver may be missing from the system path."
Re: XE5 Android Geliştirme Hakkında Sorular;
Merhaba.
- @mustafeyn çabalarınızı takdirle karşılıyorum ancak Embarcadero'nun sitesinde de aynen aşağıdaki şekilde Android işletim sisteminde MSAccess veritabanını desteklemediklerini ifade edilmiştir.
(1) @thelvaci'nın bahsettiği şekilde MSAccess veritabanına desktop uygulaması ile bağlandığınız projenize bir ekleme yapın.
(2) Android platformundan ClientDataSet ile bu veritabanına bağlantıyı gerçekleştirin. (örneklerini daha önce paylaşmıştım)
(3) yine Android platformunda SQLite veritabanı oluşturun
(4) Access veritabanını bu SQLite veritabanına import edin.
- Bu (dört) adımı hayata geçirdiğinizde sizi kimse tutamaz.
- Takıldığınız yerlerde size yardımcı oluruz.
- @mustafeyn çabalarınızı takdirle karşılıyorum ancak Embarcadero'nun sitesinde de aynen aşağıdaki şekilde Android işletim sisteminde MSAccess veritabanını desteklemediklerini ifade edilmiştir.
Ek bilgi : Android işletim sistemi Linux üzerinde çalışmaktadır. Yani burada "Android" ifadesi geçmiyor olması sizi yanıltmasın.@Embarcadero yazdı:FireDAC does not support Microsoft Access database connection on Linux, Mac OS X, and iOS.
demişsiniz ya, madem Android üzerinde veritabanı programcılığı öğrenmek istediğiniz belirtmişsiniz, müsaadenizle size bir proje önereyim :@mustafeyn yazdı: benim delphide hazırladıgım bir telefon rehberi vardı mdb veri taabanından yapılma bunu hem xe5 android ögrenmek hemde o programı ablette çalıştırmak için baglantı kurmayı deniyorum
(1) @thelvaci'nın bahsettiği şekilde MSAccess veritabanına desktop uygulaması ile bağlandığınız projenize bir ekleme yapın.
(2) Android platformundan ClientDataSet ile bu veritabanına bağlantıyı gerçekleştirin. (örneklerini daha önce paylaşmıştım)
(3) yine Android platformunda SQLite veritabanı oluşturun
(4) Access veritabanını bu SQLite veritabanına import edin.
- Bu (dört) adımı hayata geçirdiğinizde sizi kimse tutamaz.
- Takıldığınız yerlerde size yardımcı oluruz.
Re: XE5 Android Geliştirme Hakkında Sorular;
mrmarman bey ilginiz için çok teşekkur ederim bende sqlite dahil hiç bir baglantı açılmıyor illa mdb deil db ilede baglanmıyor yukarıda verdigim hata çıkıyor acaba xe5 eksik mi yukledim bilmiyorum peki veri tabanı olmadan başka bir şekilde veri kaydetme nasıl olabilir
Re: XE5 Android Geliştirme Hakkında Sorular;
Kardeş forumda ( DelphiDunyasi.NET ) üyeliğiniz varsa orada Android konusunda bir çok örnek paylaşmıştım. Birisi de ilgilendiğiniz bu konudur.
bu linkten inceleyebilirsiniz.
bu linkten inceleyebilirsiniz.
Re: XE5 Android Geliştirme Hakkında Sorular;
slm muharrem arman hocam gösterdiginiz sitedikelerinizin aynısını yaptım ancak cihazla baglanıp deniyorum cihazda siyah bir ekrandan başka birşey çıkmıyor baglantıları false yapınca formum görunuyor butonla bile baglayınca is such table:liste diye hata veriyor projeyi kapatınca programın hatası şu şekilde
Troubleshooting
No Android Targets Listed
Cannot Run on a Device or Emulator
Cannot Deploy
Troubleshooting: Cannot Run on an Android Device or Emulator
If you get either of the following error dialog boxes, use the suggested steps below:
Unable to create process: Could not find program, '<path>'
where <path> looks like the path to your Adb executable:
Open the SDK Manager and verify that the value of the Adb location field is correct in the SDK Properties of your Android SDK.
If the value is marked with a warning icon, you must update the path so that it points to your Adb executable (Android Debug Bridge).
Unable to start gdbserver on port <n>: Port is already in use
where <n> is the port number being used by the Android gdbserver:
Power off or restart your Android device and then run your application again.
Choose another debug port:
Select Run > Parameters and enter the following in the Parameters field:
-debugport=<n> where <n> is an alternate debug port, such as 54321
burdaki hatamı bana söyleyebilirmisiniz şimdiden teşekkur ederim
Troubleshooting
No Android Targets Listed
Cannot Run on a Device or Emulator
Cannot Deploy
Troubleshooting: Cannot Run on an Android Device or Emulator
If you get either of the following error dialog boxes, use the suggested steps below:
Unable to create process: Could not find program, '<path>'
where <path> looks like the path to your Adb executable:
Open the SDK Manager and verify that the value of the Adb location field is correct in the SDK Properties of your Android SDK.
If the value is marked with a warning icon, you must update the path so that it points to your Adb executable (Android Debug Bridge).
Unable to start gdbserver on port <n>: Port is already in use
where <n> is the port number being used by the Android gdbserver:
Power off or restart your Android device and then run your application again.
Choose another debug port:
Select Run > Parameters and enter the following in the Parameters field:
-debugport=<n> where <n> is an alternate debug port, such as 54321
burdaki hatamı bana söyleyebilirmisiniz şimdiden teşekkur ederim