Skip to content Skip to sidebar Skip to footer

Membuat Toast di Android dengan Embarcadero Delphi

Membuat Toast di Android dengan Embarcadero Delphi

Toast merupakan pesan yang muncul pada perangkat android. Toast berfungi untuk menyampaikan pesan terhadap penggunanya.

Jika toast di android studio sangat mudah, maka di embarcadero juga mudah. Berikut ini cara untuk membuat Toast di embarcadero delphi.

Buat file dengan nama Androidapi.JNI.Toasts.pas, jangan lupa ekstensinya .pas, isinya seperti berikut :

{*******************************************************}
{                                                       }
{           CodeGear Delphi Runtime Library             }
{ Copyright(c) 2014 Embarcadero Technologies, Inc.      }
{                                                       }
{*******************************************************}

unit Androidapi.JNI.Toasts;

interface

uses
  Androidapi.JNIBridge,
  Androidapi.JNI.GraphicsContentViewText,
  Androidapi.JNI.JavaTypes;

type
// ===== Forward declarations =====
  JToast = interface;//android.widget.Toast

// ===== Interface declarations =====
  JToastClass = interface(JObjectClass)
    ['{D06A7EAF-EE60-4F55-A3EA-E7B0B37EC7CB}']
    {class} function _GetLENGTH_LONG: Integer; cdecl;
    {class} function _GetLENGTH_SHORT: Integer; cdecl;
    {class} function init(context: JContext): JToast; cdecl;
    {class} function makeText(context: JContext; text: JCharSequence; duration: Integer): JToast; cdecl; overload;
    {class} function makeText(context: JContext; resId: Integer; duration: Integer): JToast; cdecl; overload;
    {class} property LENGTH_LONG: Integer read _GetLENGTH_LONG;
    {class} property LENGTH_SHORT: Integer read _GetLENGTH_SHORT;
  end;

  [JavaSignature('android/widget/Toast')]
  JToast = interface(JObject)
    ['{410DDA5F-7D4B-415E-8BE4-F545D331176C}']
    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(duration: Integer); cdecl;
    procedure setGravity(gravity: Integer; xOffset: Integer; yOffset: Integer); cdecl;
    procedure setMargin(horizontalMargin: Single; verticalMargin: Single); cdecl;
    procedure setText(resId: Integer); cdecl; overload;
    procedure setText(s: JCharSequence); cdecl; overload;
    procedure setView(view: JView); cdecl;
    procedure show; cdecl;
  end;
  TJToast = class(TJavaGenericImport<JToastClass, JToast>) end;

  
implementation

procedure RegisterTypes;
begin
  TRegTypes.RegisterType('Androidapi.JNI.Toasts.JToast', TypeInfo(Androidapi.JNI.Toasts.JToast));
end;

initialization
  RegisterTypes;
end.


Copy file tersebut bersama projek yang ingin kita buat, seperti ini
Membuat Toast di Android dengan Embarcadero Delphi

Coba Compile project tersebut, jika tidak ada eror berarti bisa langsung dipakai.
Membuat Toast di Android dengan Embarcadero Delphi
Tambahkan library toast ke project kita dengan uses seperti di bawah ini.
Membuat Toast di Android dengan Embarcadero Delphi
Buat tipe data untuk mengisi parameter Toast
Membuat Toast di Android dengan Embarcadero Delphi


TToastLength = (LongToast, ShortToast);

Buat fungsi seperti ini, copas aja di bawah ini


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;

Dah tinggal panggil aja, contohnya seperti ini.
Membuat Toast di Android dengan Embarcadero Delphi
Agar bisa oprek secara langsung programnya, silahkan bisa di download di bawah ini.


var
  Password : Base64;

PasswordRar :=  a29kaW5nYmFndXNUb2FzdGVy 

Post a Comment for "Membuat Toast di Android dengan Embarcadero Delphi"