Toast Çalışma Sorunu

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
Cevapla
Kullanıcı avatarı
codder71
Üye
Mesajlar: 117
Kayıt: 10 Tem 2010 07:41

Toast Çalışma Sorunu

Mesaj gönderen codder71 »

Merhabalar Arkadaşlar

Bir proje için toast kodu kullanmak istedim. Formda araştırmalarım sonucu bir kaynak koda ulaştım. Kodda sıkıntı yok fakat benim sorunum telefonla galiba samsung marka bir cep telefonunda denediğim zaman kod çalışıyor ama general mobile discovery marka telefonumda aynı kod işlem görmüyor. Aynı sorunla karşılaşan arkadaşlar var mı yardımlarınızı bekliyorum. Kullandığım koduda paylaşıyorum.

Kod: Tümünü seç

unit ToastAndroid;


// Java bridge class imported by hand by Brian Long (http://blong.com)
interface

{$IFDEF ANDROID}

uses
  Androidapi.JNIBridge,
  Androidapi.JNI.JavaTypes,
  Androidapi.Helpers,
  Androidapi.JNI.GraphicsContentViewText;
{$ENDIF}
{$IFDEF ANDROID}

type
  TToastLength = (LongToast, ShortToast);

  JToast = interface;

  JToastClass = interface(JObjectClass)
    ['{69E2D233-B9D3-4F3E-B882-474C8E1D50E9}']
    { Property methods }
    function _GetLENGTH_LONG: Integer; cdecl;
    function _GetLENGTH_SHORT: Integer; cdecl;
    { Methods }
    function init(context: JContext): JToast; cdecl; overload;
    function makeText(context: JContext; text: JCharSequence; duration: Integer)
      : JToast; cdecl;
    { Properties }
    property LENGTH_LONG: Integer read _GetLENGTH_LONG;
    property LENGTH_SHORT: Integer read _GetLENGTH_SHORT;
  end;

  [JavaSignature('android/widget/Toast')]
  JToast = interface(JObject)
    ['{FD81CC32-BFBC-4838-8893-9DD01DE47B00}']
    { Methods }
    procedure cancel; cdecl;
    function getDuration: Integer; cdecl;
    function getGravity: Integer; cdecl;
    function getHorizontalMargin: Single; cdecl;
    function getVerticalMargin: Single; cdecl;
    function getView: JView; cdecl;
    function getXOffset: Integer; cdecl;
    function getYOffset: Integer; cdecl;
    procedure setDuration(value: Integer); cdecl;
    procedure setGravity(gravity, xOffset, yOffset: Integer); cdecl;
    procedure setMargin(horizontalMargin, verticalMargin: Single); cdecl;
    procedure setText(s: JCharSequence); cdecl;
    procedure setView(view: JView); cdecl;
    procedure show; cdecl;
  end;

  TJToast = class(TJavaGenericImport<JToastClass, JToast>)
  end;

procedure Toast(const Msg: string; duration: TToastLength = ShortToast);

{$ENDIF}

implementation

{$IFDEF ANDROID}

uses
  FMX.Helpers.Android;

procedure Toast(const Msg: string; duration: TToastLength);
var
  ToastLength: Integer;
begin
  if duration = ShortToast then
    ToastLength := TJToast.JavaClass.LENGTH_SHORT
  else
    ToastLength := TJToast.JavaClass.LENGTH_LONG;
  CallInUiThread(
    procedure
    begin
      TJToast.JavaClass.makeText(SharedActivityContext, StrToJCharSequence(Msg),
        ToastLength).show
    end);
end;
{$ENDIF}

end.
Herkese iyi çalışmalar.
Dosya ekleri
ToastAndroid.rar
(950 Byte) 121 kere indirildi
Kullanıcı avatarı
AliZairov
Üye
Mesajlar: 341
Kayıt: 06 Nis 2012 03:09
Konum: Azerbaycan, Bakü
İletişim:

Re: Toast Çalışma Sorunu

Mesaj gönderen AliZairov »

Iyi geceler. Bu örnek projede toast kullandım. Bi incele. viewtopic.php?f=36&t=32767
Kullanıcı avatarı
codder71
Üye
Mesajlar: 117
Kayıt: 10 Tem 2010 07:41

Re: Toast Çalışma Sorunu

Mesaj gönderen codder71 »

Öncelikle cevabınız için teşekkür ederim. Projenizi inceledim ve telefonumda da denedim toast kodu çalıştı ama sizin projenizde ki gibi kendi projeme göre kodları düzenlememe rağmen benim projemde yine çalışmadı hala neden olabileceğini araştırıyorum. Anlaşılan sorun telefonda da değilmiş :)
gaus
Üye
Mesajlar: 227
Kayıt: 14 May 2014 07:36
İletişim:

Re: Toast Çalışma Sorunu

Mesaj gönderen gaus »

Genral Mobile'ı FireMonkey'da çalıştırabilmişin ona da şükret:)
Kullanıcı avatarı
RADCoder
Üye
Mesajlar: 129
Kayıt: 21 Ara 2013 04:03

Re: Toast Çalışma Sorunu

Mesaj gönderen RADCoder »

Merhabalar.

Class dosyanızda olan "uses" satrını şu şekilde düzenlerseniz çalışır sanırım.

Kod: Tümünü seç

uses
  FMX.Helpers.Android, FMX.Platform, FMX.Platform.Android;
Kolay gelsin.
Kullanıcı avatarı
codder71
Üye
Mesajlar: 117
Kayıt: 10 Tem 2010 07:41

Re: Toast Çalışma Sorunu

Mesaj gönderen codder71 »

Cevabınız için teşekkür ederim. Önerinizi denedim ama maalesef buda işe yaramadı. :(
Kullanıcı avatarı
barisatalay
Üye
Mesajlar: 398
Kayıt: 02 Nis 2013 05:43
İletişim:

Re: Toast Çalışma Sorunu

Mesaj gönderen barisatalay »

Cihazın android sürümü nedir ?
Ekteki dosya ile de calısmıyorsa kullandıgınız cihazın yapısındaki toast farklıdır orada nasıl kullanıldıgına bir baksanız daha cabuk sonuca ulaşabilirsiniz bence.
Dosya ekleri
ToastAndroid.rar
(950 Byte) 119 kere indirildi
Kullanıcı avatarı
codder71
Üye
Mesajlar: 117
Kayıt: 10 Tem 2010 07:41

Re: Toast Çalışma Sorunu

Mesaj gönderen codder71 »

Telefonun vers. kaynaklandığını sanmıyorum. AliZairov'un verdiği örnek projedeki toast kodu çalışıyor. Ama aynı kodu kendi projemde denediğimde ise çalışmıyor. Bi türlü çözemedim sorunu :?: :?: :?:
Kullanıcı avatarı
barisatalay
Üye
Mesajlar: 398
Kayıt: 02 Nis 2013 05:43
İletişim:

Re: Toast Çalışma Sorunu

Mesaj gönderen barisatalay »

projenizin içeriğini bilmedikçe bir yardımda bulunamayız bence ihtimal varsa projenizi paylaşabilirsiniz.
Cevapla