Note that there are some explanatory texts on larger screens.

plurals
  1. POI want to access twitter api in my android application,My code is not performing well,either its not showing any error also
    primarykey
    data
    text
    <p>I followed this tutorial fully for accesing twitter api in my android application, <a href="http://www.androidhive.info/2012/09/android-twitter-oauth-connect-tutorial/" rel="nofollow">http://www.androidhive.info/2012/09/android-twitter-oauth-connect-tutorial/</a></p> <pre><code> @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); cd = new ConnectionDetector(getApplicationContext()); // Check if Internet present if (!cd.isConnectingToInternet()) { // Internet Connection is not present alert.showAlertDialog(MainActivity.this, "Internet Connection Error", "Please connect to working Internet connection", false); // stop executing code by return return; } // Check if twitter keys are set if(TWITTER_CONSUMER_KEY.trim().length() == 0 || TWITTER_CONSUMER_SECRET.trim().length() == 0){ // Internet Connection is not present alert.showAlertDialog(MainActivity.this, "Twitter oAuth tokens", "Please set your twitter oauth tokens first!", false); // stop executing code by return return; } // All UI elements btnLoginTwitter = (Button) findViewById(R.id.btnLoginTwitter); btnUpdateStatus = (Button) findViewById(R.id.btnUpdateStatus); btnLogoutTwitter = (Button) findViewById(R.id.btnLogoutTwitter); txtUpdate = (EditText) findViewById(R.id.txtUpdateStatus); lblUpdate = (TextView) findViewById(R.id.lblUpdate); lblUserName = (TextView) findViewById(R.id.lblUserName); // Shared Preferences mSharedPreferences = getApplicationContext().getSharedPreferences( "MyPref", 0); /** * Twitter login button click event will call loginToTwitter() function * */ btnLoginTwitter.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String tweet = txtUpdate.getText().toString(); new LoginTask().execute(tweet); } }); /** * Button click event to Update Status, will call updateTwitterStatus() * function * */ btnUpdateStatus.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Call update status function // Get the status from EditText String status = txtUpdate.getText().toString(); // Check for blank text if (status.trim().length() &gt; 0) { // update status new updateTwitterStatus().execute(status); } else { // EditText is empty Toast.makeText(getApplicationContext(), "Please enter status message", Toast.LENGTH_SHORT) .show(); } } }); /** * Button click event for logout from twitter * */ btnLogoutTwitter.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // Call logout twitter function logoutFromTwitter(); } }); /** This if conditions is tested once is * redirected from twitter page. Parse the uri to get oAuth * Verifier * */ if (!isTwitterLoggedInAlready()) { Uri uri = getIntent().getData(); if (uri != null &amp;&amp; uri.toString().startsWith(TWITTER_CALLBACK_URL)) { // oAuth verifier String verifier = uri .getQueryParameter(URL_TWITTER_OAUTH_VERIFIER); try { // Get the access token AccessToken accessToken = twitter.getOAuthAccessToken( requestToken, verifier); // Shared Preferences Editor e = mSharedPreferences.edit(); // After getting access token, access token secret // store them in application preferences e.putString(PREF_KEY_OAUTH_TOKEN, accessToken.getToken()); e.putString(PREF_KEY_OAUTH_SECRET, accessToken.getTokenSecret()); // Store login status - true e.putBoolean(PREF_KEY_TWITTER_LOGIN, true); e.commit(); // save changes Log.e("Twitter OAuth Token", "&gt; " + accessToken.getToken()); // Hide login button btnLoginTwitter.setVisibility(View.GONE); // Show Update Twitter lblUpdate.setVisibility(View.VISIBLE); txtUpdate.setVisibility(View.VISIBLE); btnUpdateStatus.setVisibility(View.VISIBLE); btnLogoutTwitter.setVisibility(View.VISIBLE); // Getting user details from twitter // For now i am getting his name only long userID = accessToken.getUserId(); User user = twitter.showUser(userID); String username = user.getName(); // Displaying in xml ui lblUserName.setText(Html.fromHtml("&lt;b&gt;Welcome " + username + "&lt;/b&gt;")); } catch (Exception e) { // Check log for login errors Log.e("Twitter Login Error", "&gt; " + e.getMessage()); } } } } /** * Function to login twitter * */ public class LoginTask extends AsyncTask&lt;String, String, String&gt; { protected void onPostExecute(Bitmap result) { boolean everythingGood = false; if (everythingGood) { showToast("Success!"); startActivity(new Intent()); } else { showAlert("Error!"); } } private void showToast(String string) { // TODO Auto-generated method stub } private void showAlert(String string) { // TODO Auto-generated method stub } @Override protected String doInBackground(String... args) { String tweet = args[0]; loginToTwitter(); return null; } private void startActivity(Intent intent) { // TODO Auto-generated method stub } } private void loginToTwitter() { // Check if already logged in if (!isTwitterLoggedInAlready()) { ConfigurationBuilder builder = new ConfigurationBuilder(); builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY); builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET); twitter4j.conf.Configuration configuration = builder.build(); TwitterFactory factory = new TwitterFactory(configuration); twitter = factory.getInstance(); try { requestToken = twitter .getOAuthRequestToken(TWITTER_CALLBACK_URL); this.startActivity(new Intent(Intent.ACTION_VIEW, Uri .parse(requestToken.getAuthenticationURL()))); } catch (TwitterException e) { e.printStackTrace(); } } else { // user already logged into twitter Toast.makeText(getApplicationContext(), "Already Logged into twitter", Toast.LENGTH_LONG).show(); } } public void showToast(String string) { // TODO Auto-generated method stub } /** * Function to update status * */ class updateTwitterStatus extends AsyncTask&lt;String, String, String&gt; { /** * Before starting background thread Show Progress Dialog * */ @Override protected void onPreExecute() { super.onPreExecute(); pDialog = new ProgressDialog(MainActivity.this); pDialog.setMessage("Updating to twitter..."); pDialog.setIndeterminate(false); pDialog.setCancelable(false); pDialog.show(); } /** * getting Places JSON * */ protected String doInBackground(String... args) { Log.d("Tweet Text", "&gt; " + args[0]); String status = args[0]; try { ConfigurationBuilder builder = new ConfigurationBuilder(); builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY); builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET); // Access Token String access_token = mSharedPreferences.getString(PREF_KEY_OAUTH_TOKEN, ""); // Access Token Secret String access_token_secret = mSharedPreferences.getString(PREF_KEY_OAUTH_SECRET, ""); AccessToken accessToken = new AccessToken(access_token, access_token_secret); Twitter twitter = new TwitterFactory(builder.build()).getInstance(accessToken); // Update status twitter4j.Status response = twitter.updateStatus(status); Log.d("Status", "&gt; " + response.getText()); } catch (TwitterException e) { // Error in updating status Log.d("Twitter Update Error", e.getMessage()); } return null; } /** * After completing background task Dismiss the progress dialog and show * the data in UI Always use runOnUiThread(new Runnable()) to update UI * from background thread, otherwise you will get error * **/ protected void onPostExecute(String file_url) { // dismiss the dialog after getting all products pDialog.dismiss(); // updating UI from Background Thread runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(getApplicationContext(), "Status tweeted successfully", Toast.LENGTH_SHORT) .show(); // Clearing EditText field txtUpdate.setText(""); } }); } } /** * Function to logout from twitter * It will just clear the application shared preferences * */ private void logoutFromTwitter() { // Clear the shared preferences Editor e = mSharedPreferences.edit(); e.remove(PREF_KEY_OAUTH_TOKEN); e.remove(PREF_KEY_OAUTH_SECRET); e.remove(PREF_KEY_TWITTER_LOGIN); e.commit(); // After this take the appropriate action // I am showing the hiding/showing buttons again // You might not needed this code btnLogoutTwitter.setVisibility(View.GONE); btnUpdateStatus.setVisibility(View.GONE); txtUpdate.setVisibility(View.GONE); lblUpdate.setVisibility(View.GONE); lblUserName.setText(""); lblUserName.setVisibility(View.GONE); btnLoginTwitter.setVisibility(View.VISIBLE); } /** * Check user already logged in your application using twitter Login flag is * fetched from Shared Preferences * */ private boolean isTwitterLoggedInAlready() { // return twitter login status from Shared Preferences return mSharedPreferences.getBoolean(PREF_KEY_TWITTER_LOGIN, false); } protected void onResume() { super.onResume(); } } </code></pre> <p>**Is this code is correct or not?after logged in it has to show my tweet column like update status,like that,but its not going to next stage</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload