Desarrollo de aplicaciones para android: cómo manejar la actividad principal de la aplicación twitter

Hay varias etapas en el desarrollo de una aplicación de Twitter que funcionará en los dispositivos Android. Una cosa que tendrá que hacer frente es la actividad principal de la aplicación. El siguiente código contiene el código Java de la aplicación de Twitter.

Video: MOVER APLICACIONES A LA TARJETA SD EN ANDROID | (Root o sin Root)

paquete com.allmycode.twitter-importación e importación android.app.Activity android.os.AsyncTask-importación e importación android.os.Bundle android.text.Editable-importación e importación android.text.TextWatcher android.text.method.ScrollingMovementMethod -import android.view.View importación-android.widget.EditText-importación e importación android.widget.TextView java.util.List-importación e importación twitter4j.Twitter twitter4j.TwitterException-importación e importación twitter4j.conf.ConfigurationBuilder twitter4j.TwitterFactory MainActivity clase -public extiende Actividad {textViewCountChars TextView, textViewTimeline-EditarTexto editTextTweet, editTextUsername-Twitter Twitter- @ Overrideprotected vacío onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState) -setContentView (R.layout.activity_main) -editTextTweet = (EditarTexto) findViewById (R.id.editTextTweet) -editTextTweet.addTextChangedListener (nuevo MyTextWatcher ()) - textViewCountChars = (TextView) findViewById (R.id.textViewCountChars) -editTextUsername = (EditarTexto) findViewById (R.id.editTextUsername) -t extViewTimeline = (TextView) findViewById (R.id.textViewTimeline) -textViewTimeline.setMovementMethod (nuevo ScrollingMovementMethod ()) - ConfigurationBuilder constructor = new ConfigurationBuilder () -.. builder.setOAuthConsumerKey ( “01qedaqsdtdemrVJIkU1dg”) setOAuthConsumerSecret ( “TudeMgXgh37Ivq173SNWnRIhI”) setOAuthAccessToken ( “1385541-ueSEFeFgJ8vUpfy6LBv6”) setOAuthAccessTokenSecret. ( “G2FXeXYLSHI7XlVdMsS2e”) - fábrica de TwitterFactory = new TwitterFactory (builder.build ()) - Twitter factory.getInstance = () -} // clic de botón listenerspublic anular onTweetButtonclick (Ver vista) {nueva MyAsyncTaskTweet () .execute (editTextTweet.getText toString () ()). -} void onTimelineButtonclick (Ver vista) pública {nueva MyAsyncTaskTimeline () ejecutar. (editTextUsername.getText toString () ()). -} // conde personajes de la Tweet fieldclass MyTextWatcher implementa TextWatcher {@Overridepublic vacío afterTextChanged (editable s) {textViewCountChars.setText ( ““+ editTextTweet.getText () longitud ().) -} @ Overridepublic beforeTextChan vacío GED (CharSequence s, int inicio, int count, después int) {} @Overridepublic anular OnTextChanged (s CharSequence, inicio, int antes, int count) {}} // El AsyncTask MyAsyncTaskTweetextends clase classespublic AsyncTask {String doInBackground @Overrideprotected ( Tweet cadena ...) {string resultado = ““-probar {twitter.updateStatus (tuit [0]) - getResources resultado = () getString (R.string.success) -.} catch (TwitterException twitterException) {resultado = getResources () .GetString (R.string.twitter_failure) -} catch (Exception e) {resultado = getResources () getString (R.string.general_failure) -.} return result -} @ Overrideprotected vacío (resultado cadena) onPostExecute {editTextTweet.setHint ( resultado) -editTextTweet.setText ( ““) - MyAsyncTaskTimelineextends}} public class AsyncTask {String doInBackground @Overrideprotected (String ... nombre de usuario) {resultado cadena = new String ( ““) - Lista de estados = null-try {status = twitter.getUserTimeline (nombre de usuario [0]) -} catch (twitterException twitterException) {resultado = getResources () getSt. anillo (R.string.twitter_failure) -} catch (Exception e) {resultado = getResources () getString (R.string.general_failure) -} para (estado twitter4j.Status: estados). {resultado + = status.getText () -resultado + = “n” -} return result -} @ Overrideprotected onPostExecute vacío (resultado String) {editTextUsername.setText ( ““) - textViewTimeline.setText (resultado) -}}}

protocolos de red de Twitter requieren que el dispositivo que ejecuta la mayoría de aplicaciones se establece en la hora correcta. Esto posiblemente podría causar un montón de problemas para ejecutar la aplicación en emuladores. Si se enfrenta a este problema, el mensaje de error que regresa de Twitter (por lo general la especificación de un desafío de autenticación nula) no es útil. Lo que puede evitar un montón de problemas, evitando emuladores cada vez que probar este código. Sólo tienes que configurar su teléfono o tableta para obtener el tiempo de la red automáticamente. A continuación, ejecute la aplicación en ese dispositivo.

Cuando se ejecuta la aplicación, se ven dos zonas. Un área contiene un Tweet Botón de la otra zona contiene un botón de línea de tiempo.

La principal actividad en su estado prístino.
La principal actividad en su estado prístino.

En esta imagen, el texto en ambos campos de texto es de color gris claro. Esto sucede porque Android: pista Los atributos se utilizan en el código. UN insinuación es un grupo de caracteres que aparecen sólo cuando un campo de texto es por lo demás vacío. Cuando el usuario hace clic dentro del campo de texto, o cualquier tipo de texto dentro del campo de texto, la indirecta desaparece.

Escribir un tweet en el campo de texto en láminas superior y pulse el botón Tweet.

El usuario escribe un tweet.

El usuario escribe un tweet.

Si su intento de twittear es exitosa, el mensaje de éxito! reemplaza el tweet en el campo de texto.

La aplicación indica un tweet con éxito.
La aplicación indica un tweet con éxito.

Si, por una razón u otra, su tweet no puede ser publicado, un mensaje como “No se ha podido twittear” reemplaza el tweet en el campo de texto.

La aplicación trae malas noticias para el usuario.
La aplicación trae malas noticias para el usuario.

A continuación, escriba un nombre de usuario en el campo de texto inferior y haga clic en la línea de tiempo. Si todo va bien, una lista de los tweets más recientes de los usuarios aparece debajo del botón de línea de tiempo. Puede desplazarse por la lista para ver más de tweets del usuario.

línea de tiempo de un usuario.
línea de tiempo de un usuario.
Artículos Relacionados