Analitcs

Pesquisar no conteúdo do blog.atlabs.com.br

sexta-feira, 8 de agosto de 2014

DELPHI - Firemonkey: How to JStringToString / JStringToString on Delphi XE6

Reações: 

Achei na internet a função pro XE5, mas no XE6 não tem, então, segue abaixo:


// Na uses declarar:

, Androidapi.JNI.JavaTypes
, Androidapi.Jni
, Androidapi.JNIBridge

  Type
    // Declarar na uses: Androidapi.JNI.JavaTypes, Androidapi.Jni, Androidapi.JNIBridge
    TATLabs_Convert = Class(TObject)
    Public
      Class Function JStringToString(const JStr: JString): string;
      Class function StringToJString(const Str: string): JString;
  end;

{ TATLabs_Convert }
class function TATLabs_Convert.JStringToString(const JStr: JString): string;
begin
  if JStr = nil then
    Result := ''
  else
    Result:= JNIStringToString(TJNIResolver.GetJNIEnv, JNIString((JStr as ILocalObject).GetObjectID));
end;

class function TATLabs_Convert.StringToJString(const Str: string): JString;
var
  LocalRef: JNIObject;
begin
  LocalRef := StringToJNIString(TJNIResolver.GetJNIEnv, Str);
  Result := TJString.Wrap(LocalRef);
  TJNIResolver.DeleteLocalRef(LocalRef);
end;

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.

Max Gehringer