29 Eylül 2014 Pazartesi

Delphi Android Run-time nesne hareketi

Merhabalar,



Örneğimiz için form ekranına 1 adet TImage nesnesi yerleştirmeniz ve içerisine resim yüklemeniz yeterlidir.

Test amaçlı rastgele bir nesne daha eklemeniz de gerek. Çünkü yerini değiştireceğimiz TImage nesnesi, o eklediğimiz resmin üzerine geldiğinde donuyormu onu test etmek için.

İlk olarak Uses kısmına gerekli kütüphaneyi ekleyelim:

System.Math.Vectors


Sıradaki işlem "private" bölümüne aşağıdaki değişkenleri tanımlayınız. Tercih sebebi olarak genel var bloğunada tanımlayabilirsiniz.

FStartPos: TPointF;
FPressed: Boolean;


Bu TImage nesnemizin uyladığımız işlemleri kullanabilmesi için "AutoCapture" özelliğinin daima true olması gerekmektedir. Formun OnCreate bölümüne aşağıdaki kodu ekleyiniz.

DraggableImage.AutoCapture := True;

Sıradaki işlemimiz parmağımızın resmin üzerine geldiğini algılaması ve bu durumda tanımladığımız FPressed değişkenini true yapmak. Bunun için resmin OnMouseDown eventine aşağıdaki kodu ekleyiniz.

FPressed := True;

FStartPos := TPointF.Create(X, Y);



Şimdi parmağımızın resimde olmadığı durumu değişkenimize aktarmaya geldi onun için resmin OnMouseUp eventine aşağıdaki kodu ekleyiniz.

FPressed := False;


Ve son olarak resmin OnMouseMove eventine hareket işlemleri için gerekli kod bloğumuzu ekliyoruz.

var
  MoveVector: TVector;
begin
  if FPressed then
  begin
    MoveVector := TVector.Create(X - FStartPos.X, Y - FStartPos.Y, 0);

    MoveVector := DraggableImage.LocalToAbsoluteVector(MoveVector);
    if DraggableImage.ParentControl <> nil then
      MoveVector := DraggableImage.ParentControl.AbsoluteToLocalVector(MoveVector);
    DraggableImage.Position.Point := DraggableImage.Position.Point + MoveVector.ToPointF;
  end;

Not: www.fire-monkey.ru formundaki bir yazıdan anladığım kadarı ile uyguladığım bir uygulamadır.

20 Eylül 2014 Cumartesi

Delphi Android, IOS ve Windows Download Manager

Merhabalar,

Delphi ile android  kullanımının kolaylaştırılması amacına ve kendimi biraz daha fazla geliştirmek için birşeyler hazırlamaya karar verdim. Aklıma indirme olayları ile ilgili birşeyler hazırlamak geldi.

Pek anlatabileceğim birşey yoktur Component görsel birşey sergilemiyor örnek Demoyu proje içerisinde bulablirsiniz. Eş zamanlı olarak indirmeye destek veriyor ve 3lü aynı anda denedim eğer problemler ile karşılaşanlar bildirim yaparsa üst versiyonlara geliştirmekten zevk alırım.

İndirme Linki[08/10/2014]: http://s3.dosya.tc/server28/WxLYLA/DownloadManager.rar.html

Svn: https://code.google.com/p/delphi-android-download-manager/

Update 2:[08/10/2014]
XE5 Support,
Create Auto Download Manager Items,
Package Download
Create Auto Package Manager Items,


Update 1:[22/09/2014]
procedure StopAll

procedure StopDownload(const Index: Integer)
Demo içerisinde örnek yapıldı.
http://s3.dosya.tc/server28/HpCgFO/DownloadManager.rar.html



Auto Create Download Manager Items

Package Download



 Auto Create Package Manager Items









19 Eylül 2014 Cuma

Delphi Android Cihaz Dil öğrenme

Merhabalar,

Embarcaderonun formunda gezinirken bir soruya verilen cevaptan aldığım kodları sizlerle paylaşıyorum.

Sadece Android platformda denedim MACOS olanlar kendileri deneyip yoruma bilgilendirmeyi yapabilirler.


function GetOSLangID: String;
{$IFDEF MACOS}
var
  Languages: NSArray;
begin
  Languages := TNSLocale.OCClass.preferredLanguages;
  Result := TNSString.Wrap(Languages.objectAtIndex(0)).UTF8String;
{$ENDIF}
{$IFDEF ANDROID}
var
  LocServ: IFMXLocaleService;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXLocaleService, IInterface(LocServ)) then
    Result := LocServ.GetCurrentLangID;
{$ENDIF}
end;

Delphi Android Custom Dialogs

Merhabalar,

Sizlerle ihtiyaçtan doğan ve android üzerinde(Native) .xml ile oluşturulabilen bu mesajları ekranlarını  paylaşmak istiyorum.


Tam olarak nedir bunlar?

Yeri geldiğinde cihazın o ekranına (Edit,combo,trackbar) yerleştirmek için yer kalmadığını veya ekranın görüntüsünde ciddi tutarsızlık olduğunda kullanabileceğiniz araçlardır.

Örnek: Edit nesnenize tıklandığı anda açılacak bir Combo nesnesi ile biren fazla seçim ile atama yapabilirsiniz.

Kullandıkça anlayacaksınız ki daha fazla yerlerde de kullanılabilecek bir yapıdadır.

Parent olarak "TCustomEdit" class'ından türemiş nesneleri verebiliyorsunuz.

Eğer ComboboxSettings ve TrackBarSettings bölümlerindeki ReturnText alanı True olursa otomatik olarak parenti olan nesneye dönen değeri yazacaktır.

Update 4:[30/09/2014]
XE5 Desteği ve örneği eklendi.

Update 3:[29/09/2014]
Listview kullanımı için geliştirme yapıldı.

Update 2:[26/09/2014]
Menu türü eklendi.

Update 1:[22/09/2014]
OnPopUpClose Eventi Eklendi. Demo içerisinde örnek yapıldı.


Indirme Linki[30/09/2014]: http://s3.dosya.tc/server28/5LfgIz/CustomDialogs.rar.html

Svn: https://code.google.com/p/delphi-android-custom-dialog/







  

Sadece XE6 ve üst versiyonlar destekler



12 Eylül 2014 Cuma

Delphi Android Apk Boyut Sorunu Hakkında

Merhabalar,

Sizde boş bir proje derlediğimiz zaman neden bu kadar çok boyuta sahip olduğunu merak ediyorsunuzdur hatta daha da meraklılarımız bu sorunun cevabını bence bulmuştur.

Cevabı bende sanırım buldum gibi gibi.

Yaptığım şey bir .apk dosyasının kodlarını yardımcı programlar ile açmak oldu.

Açınca gördüklerim karşısında biraz şaşırmadım da değil hani :)

Aşağıdaki resimden de göreceğiniz üzere bizim yazdığımız showmessage('Hello World');

projesi derlenirken bile embarcadero aynı anda apk dosyasına kendi hazırladığı kütüphaneleri dahil edince doğal olarak bi hayli dosya boyutunda da artış oluyor.

Ve dostlar eğer biraz kendinizi kasarsanız bu dosyaları kullanamazsınız diye birşey yok.

İleride bunlar hakkında projeler yapıp arkaplan servislerini delphi içerisinden yönetilebilirdiğini test edicem :)


9 Eylül 2014 Salı

Delphi Android QR Okuyucu Proje

Merhabalar,

Bir arkadaşımız önce paylaştığım bir yazıdaki qr okuyucu projesini derleyememiş onun için hazırladığım hazır bir projedir.

İçerisindekiler:
~Delphi Android Qr Okuyucu,
~Android cihazdaki uygulama varmı kontrolü,
~Android Url Açma.

Not: Bu projenin çalışması için cihazda "Zxing" barcod okuyucunun mevcut olması gerekmektedir. Proje içerisinde bu uygulamanın kontrolü yapılmaktadır yani eğer yok ise indirmeyi zorunlu kıldık.

İndirme Linki[09/09/2014]: http://s3.dosya.tc/server27/Shm1Js/Qr_Okuyucu.rar.html

EKRAN GÖRÜNTÜSÜ

8 Eylül 2014 Pazartesi

X-SuperObject Örnekleri

Merhabalar,

Bir arkdaşımız için hazırladığım birkaç tane X-SuperObject örneğini bu başlık alında paylaşıcam.

Bu örneklerde neler var?

~JSON içerisinde koşula bağlı arama,
~JSON Listeleme,
~IMember(ICast) kullanımı

Amacım kullanılabilirliği hakkında bilgi ve örnek vermektir. İçeriği kendinize göre uyarlayıp türlü işlemler  yapabilirsiniz.

Konu altında yapamadığınız bir durum olursa yazabilirsiniz ve örnekler ile sorununu çözebiliriz.

İyi çalışmalar.

İndirme Linki[08/09/2014]: http://s3.dosya.tc/server27/0ifDt1/SuperObject_Ornekleri.rar.html

ÖRNEK EKRAN GÖRÜNTÜSÜ

Delphi Android Native Progress Dialog

Merhabalar,

Delphinin örnek kod dosyalarını karıştırırken bu konu hakkında yapılmış örnekler buldum fakat birden fazla konu aynı projede oldugundan sadeleştirme gereği duydum.

Gelelim bu olay tam olarak nedir?

Android’de uygulamamız arkaplanda bir şeylerle meşgulken kullanıcıya o sırada bir uyarı verilmesini ve kullanıcının arkada işleyen konu hakkında bilgi sahibi olmasını isteyebiliriz. Çünkü bu esnada kullanıcıyı bilgilendirmezsek programın takıldığını yada kendisine verilen işlemi yerine getirmediğini düşünüp uygulamayı kapatabilir, telefonundan kaldırabilir.


Aşağıdaki linkten ingilizcesi olanlar detaylı olarak okuyabilirler.
http://developer.android.com/reference/android/app/ProgressDialog.html

Sadeleştirdiğim .pas dosyası ile sadece parametre girerek istediğimiz şekilde bunu kullanabileceğiz.

Kullanımı:
En sonda gördüğünüz Boolean olan parametre dialogun "Geri" tuşuna basılınca kapanıp kapanmayacağına karar verdiğiniz parametredir.

//Başlatma:
  StartWait('Başlık','Metin',False);

//Durdurma:
  StopWait;

İndirme Linki[08/09/2014]: http://s3.dosya.tc/server27/5iLWmo/Androidapi.Dialogs.rar.html

İndirme Linki[02/07/2015] : http://www.mediafire.com/download/6y0od3okb9b8c08/Androidapi.Dialogs.pas

ÖRNEK GÖRÜNTÜ

5 Eylül 2014 Cuma

Delphi Android Sqlite ve Listview kullanımı

Merhabalar,

Bir arkadaşımız istediği için küçük bir proje hazırladım.
Projede:
~SQLite Ekleme,Silme ve Sorgulama işlemleri,
~Listview kullanımı.

bu iki konuyu görebileceksiniz.

İndirme Linki: http://s3.dosya.tc/server27/EPe5dy/SQL_Proje.rar.html

Edit : 21.02.2017
Linkleri yenileme imkanım yoktur. Aşağıdaki linkten daha detaylı bilgi alabilirsiniz.

http://brsatalay.blogspot.com.tr/2014/07/mobile-sifre-takip-uygulamas-kaynak.html

EKRAN GÖRÜNTÜLERİ