Desenvolvimento de aplicativos android: como lidar com a atividade principal da sua aplicação twitter
Existem várias etapas para o desenvolvimento de um aplicativo de Twitter que irá funcionar em dispositivos Android. Uma coisa que você terá de enfrentar é a atividade principal da aplicação. O código a seguir contém o código Java do aplicativo do Twitter.
pacote com.allmycode.twitter-import android.app.Activity-import android.os.AsyncTask-import android.os.Bundle-import android.text.Editable-import android.text.TextWatcher-import android.text.method.ScrollingMovementMethod -import android.view.View-importação android.widget.EditText-importação android.widget.TextView-importação java.util.List-importação twitter4j.Twitter-importação twitter4j.TwitterException-importação twitter4j.conf.ConfigurationBuilder twitter4j.TwitterFactory-importação -public classe MainActivity estende Atividade {textViewCountChars TextView, textViewTimeline-EditText editTextTweet, editTextUsername-Twitter Twitter- @ Overrideprotected onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState) -setContentView void (R.layout.activity_main) -editTextTweet = (EditText) findViewById (R.id.editTextTweet) -editTextTweet.addTextChangedListener (novo MyTextWatcher ()) - textViewCountChars = (TextView) findViewById (R.id.textViewCountChars) -editTextUsername = (EditText) findViewById (R.id.editTextUsername) -t extViewTimeline = (TextView) findViewById (R.id.textViewTimeline) -textViewTimeline.setMovementMethod (novo ScrollingMovementMethod ()) - ConfigurationBuilder builder = new ConfigurationBuilder (.) -. builder.setOAuthConsumerKey ( “01qedaqsdtdemrVJIkU1dg”) setOAuthConsumerSecret ( “TudeMgXgh37Ivq173SNWnRIhI”) setOAuthAccessToken ( “1385541-ueSEFeFgJ8vUpfy6LBv6”) setOAuthAccessTokenSecret. ( “G2FXeXYLSHI7XlVdMsS2e”) - fábrica TwitterFactory = new TwitterFactory (builder.build ()) - Twitter = factory.getInstance () -} // Button clique listenerspublic anular onTweetButtonclick (vista) {new MyAsyncTaskTweet () .Execute (editTextTweet.getText () toString ().) -} void onTimelineButtonclick (vista) pública {new MyAsyncTaskTimeline () executar. (editTextUsername.getText () toString ().) -} // Contagem caracteres na Tweet fieldclass MyTextWatcher implementa TextWatcher {@Overridepublic vazio afterTextChanged (editável s) {textViewCountChars.setText ( ““+ editTextTweet.getText () comprimento ().) -} @ Overridepublic vazio beforeTextChan GED (CharSequence s, início int, int count, int depois) {} @Overridepublic anular OnTextChanged (CharSequence s, início int, int antes, int count) {}} // O AsyncTask MyAsyncTaskTweetextends classe classespublic AsyncTask {@Overrideprotected Cordas doInBackground ( corda ... Tweet) {string resultado = ““-tentar {twitter.updateStatus (Tweet [0]) - resultado = getResources () getString (R.string.success) -.} catch (twitterException twitterException) {result = getResources () .GetString (R.string.twitter_failure) -} catch (Exception e) {result = getResources () getString (R.string.general_failure) -.} resultado de retorno -} @ (resultado string) vazio Overrideprotected OnPostExecute {editTextTweet.setHint ( resultado) -editTextTweet.setText ( ““) -}} MyAsyncTaskTimelineextends classe pública AsyncTask {@Overrideprotected Cordas doInBackground (string ... username) {resultado string = new string ( ““) - status Lista = null-try {status = twitter.getUserTimeline (nome de utilizador [0]) -} catch (TwitterException twitterException) {resultado = getResources () getSt. anel (R.string.twitter_failure) -} catch (exceção e) {Resultado = getResources () getString (R.string.general_failure) -} para (estado twitter4j.Status: status). {resultado + = status.getText () -result + = “n” -} resultado de retorno -} @ Overrideprotected vazio OnPostExecute (resultado string) {editTextUsername.setText ( ““) - textViewTimeline.setText (resultado) -}}}
protocolos de rede do Twitter exigem que o dispositivo que executa a maioria dos aplicativos está definido para a hora correta. Isso poderia causar-lhe muitos problemas para executar o aplicativo em emuladores. Se você enfrentar esse problema, a mensagem de erro que vem de volta do Twitter (geralmente especificando um desafio de autenticação null) não é útil. Assim, você pode evitar muitos problemas, evitando emuladores sempre que você testar este código. Basta definir o seu telefone ou tablet para obter o tempo de rede automaticamente. Em seguida, execute o aplicativo no dispositivo.
Quando você executar o aplicativo, você vê duas áreas. Uma área contém um Tweet botão- a outra área contém um botão Timeline.
Nesta imagem, o texto em ambos os campos de texto é cinza claro. Isso acontece porque android: dica atributos são usados no código. UMA sugestão é um grupo de caracteres que aparecem somente quando um campo de texto é outra forma vazia. Quando o usuário clica dentro do campo de texto, ou tipos de qualquer texto dentro do campo de texto, a dica desaparece.
Digite um tweet no campo de texto em top- em seguida, pressione o botão Tweet.
Se a sua tentativa de twittar for bem sucedida, a mensagem Sucesso! substitui o tweet no campo de texto.
Se, por um motivo ou outro, o seu tweet não pode ser publicado, uma mensagem como “Falha ao twittar” substitui o tweet no campo de texto.
Em seguida, digite um nome de usuário no campo de texto inferior e clique Timeline. Se tudo correr bem, uma lista de tweets mais recentes do usuário aparece abaixo do botão Timeline. Você pode percorrer a lista para ver mais de tweets do usuário.