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).
Vamos dar uma recapitulada em como deve ficar configurado o Project Manager:
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:
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!










