fbpx

Integrando Aplicação Delphi XE7 Android com o Twitter

Enviando Tweet com Delphi XE7 e Android

O Twitter é a minha rede social favorita, e nesta postagem faremos a integração de uma aplicação Android desenvolvida em Delphi XE7 com a rede social do Passarinho Azul.

 

Direto ao ponto

Vamos direto ao Delphi e iniciar uma aplicação Multi-Device (File–> New–>Other–>Multi-Device Projects–> Blank Application).

Delphi New Multi Device Project

Vamos dar uma recapitulada em como deve ficar configurado o Project Manager:

Configurações de Projeto

Para fins didáticos vamos utilizar apenas 1 TImage e 5 TButtons, configuraremos suas propriedades como abaixo:

  •  Button1
    • Align -> Botton
    • Text -> Perfil
    • Heigth -> 36
  •  Button2
    • Align -> Botton
    • Text -> Time Line
    • Heigth -> 36
  •  Button3
    • Align -> Botton
    • Text -> Categorias
    • Heigth -> 36
  •  Button4
    • Align -> Botton
    • Text -> DM
    • Heigth -> 36
  •  Button5
    • Align -> Botton
    • Text -> Enviar Tweet
    • Heigth -> 36
  • Image1
    • MultiResBitmap –> [Uma imagem de sua preferência]
    • Align -> Client

Ao final dessas configurações nossa aplicação terá uma aparência similar à imagem abaixo:

Layout Aplicação Tweet Delphi Android

Uma vez definida a interface da aplicação, fica subentendido o funcionamento da mesma, para os cliques nos botões serão executadas as respectivas operações descritas nos textos dos mesmo. Enfim, vamos aos códigos.

Codificando as funções

Antes de darmos início aos códigos não podemos nos esquecer de incluir as Units responsáveis pela integração Delphi Android, na seção implementation vamos declarar na uses:

uses
  FMX.Helpers.Android, Androidapi.Jni.GraphicsContentViewText,
  Androidapi.Jni.Net, Androidapi.Jni.JavaTypes, idUri, Androidapi.Jni,
  Androidapi.JNIBridge, Androidapi.Helpers;

Para ganharmos tempo já vamos direto a cada um dos códigos dos buttons:

procedure TForm1.Button1Click(Sender: TObject);
var
  IntentPerfil : JIntent;
begin
//Perfil - Funcionando
  IntentPerfil := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW);
  IntentPerfil.setClassName(StringToJString('com.twitter.android'),
    StringToJString('com.twitter.android.ProfileActivity') ); // Perfil
  IntentPerfil.putExtra(StringToJString('screen_name'),StringToJString('@landersongomes') )  ;
  SharedActivity.startActivity(IntentPerfil);
end;

Para o botão da Time Line temos:

procedure TForm1.Button2Click(Sender: TObject);
var
  IntentTimeLine : JIntent;
begin
//Visualizar Time Line
  IntentTimeLine := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW);
  IntentTimeLine.setClassName(StringToJString('com.twitter.android'),
    StringToJString('com.twitter.android.TimelineActivity') ); //Visualizar a TimeLine
  SharedActivity.startActivity(IntentTimeLine);
end;

 Já para as categorias o código ficará:

procedure TForm1.Button3Click(Sender: TObject);
var
  IntentCateg : JIntent;
begin
//Categorias de Contas
  IntentCateg := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW);
  IntentCateg.setClassName(StringToJString('com.twitter.android'),
    StringToJString('com.twitter.android.CategoriesActivity') );
  SharedActivity.startActivity(IntentCateg);
end;

A Mensagens Diretas, ou DM terão sua visualização implementada através do código:

procedure TForm1.Button4Click(Sender: TObject);
var
  IntentDM : JIntent;
begin
// Visualizar Mensagens Recebidas
  IntentDM := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW);
  IntentDM.setClassName(StringToJString('com.twitter.android'),
    StringToJString('com.twitter.android.MessagesActivity') ); //Visualizar DM recebida
  SharedActivity.startActivity(IntentDM);
end;

E por fim, o código para enviarmos um Twett:

procedure TForm1.Button5Click(Sender: TObject);
var
  IntentTweet : JIntent;
begin
//Enviar tweet
  IntentTweet := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_SEND);
  IntentTweet.setClassName(StringToJString('com.twitter.android'),
        StringToJString('com.twitter.android.composer.ComposerActivity') ); //Enviar Tweet
  IntentTweet.putExtra(TJIntent.JavaClass.EXTRA_TEXT,
                StringToJString('Enviando tweet por aplicações #Android desenvolvidas ' +
                 'com @EmbarcaderoTech #Delphi Xe7. Confira no blog http://goo.gl/tRWiqS.') )  ;
  SharedActivity.startActivity(IntentTweet);
end;

Tudo pronto, basta executar e conferir o resultado!

Veja o vídeo do aplicativo em execução:

 

Nota: Inserindo a Linha EXTRA_TEXT para a intent de DM você também consegue efetuar o envio delas, mais uma vez porém não obtive sucesso e estabelecer o destinatário das mesmas senão através da seleção manual do usuário.

Até a próxima!

 

,

Comente