XE5 Android Geliştirme Hakkında Sorular;

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen G.Arkas »

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...
Resim
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen thelvaci »

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

Kod: Tümünü seç

if Pos('http', URL) = 0 
  then Insert('http://', NewURL, 0);" 
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.
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen G.Arkas »

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.
Resim
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2130
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen sadettinpolat »

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.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen G.Arkas »

Sadettin hocam çok sağol. Hemen irtibata geçeyim bari :)
Resim
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen thelvaci »

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.
Estağfirullah engin değil, kısıtlı bilgilerim var; enginlik kim biz kim.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen Battosai »

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...
mustafeyn
Üye
Mesajlar: 15
Kayıt: 02 Oca 2009 03:08

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen mustafeyn »

ugrul hocam xe5 ile fire monkey android ile mdb dosyalarına baglantı nasıl oluyor konu hakkında bir bilginiz varmı
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen thelvaci »

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.
mustafeyn
Üye
Mesajlar: 15
Kayıt: 02 Oca 2009 03:08

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen mustafeyn »

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
mustafeyn
Üye
Mesajlar: 15
Kayıt: 02 Oca 2009 03:08

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen mustafeyn »

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."
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen mrmarman »

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.
@Embarcadero yazdı:FireDAC does not support Microsoft Access database connection on Linux, Mac OS X, and iOS.
Ek bilgi : Android işletim sistemi Linux üzerinde çalışmaktadır. Yani burada "Android" ifadesi geçmiyor olması sizi yanıltmasın.
@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
demişsiniz ya, madem Android üzerinde veritabanı programcılığı öğrenmek istediğiniz belirtmişsiniz, müsaadenizle size bir proje önereyim :

(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. :bravo:
- Takıldığınız yerlerde size yardımcı oluruz. :idea:
Resim
Resim ....Resim
mustafeyn
Üye
Mesajlar: 15
Kayıt: 02 Oca 2009 03:08

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen mustafeyn »

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
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen mrmarman »

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. :idea:
Resim
Resim ....Resim
mustafeyn
Üye
Mesajlar: 15
Kayıt: 02 Oca 2009 03:08

Re: XE5 Android Geliştirme Hakkında Sorular;

Mesaj gönderen mustafeyn »

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
Cevapla