2012-06-24 58 views
0

我試圖寫在Android的代碼,這將有助於從我的應用程序內更新我的Twitter狀態,微博狀態但我有與it.Below問題是代碼片段更新使用JTwitter

public void onClick(View v) { 
    String statusText = edit.getText().toString(); 
    new PostToTwitter().execute(statusText); 
} 

public static String getLogtag() { 
    return LOGTAG; 
} 

class PostToTwitter extends AsyncTask<String, Void, String> { 

    @Override 
    protected String doInBackground(String... params) { 
     try{ 
     Twitter twitter = new Twitter("screenname", "password"); 
     // twitter.getStatus("winterstein"); 
     twitter.setAPIRootUrl("https://twitter.com/#!/nindevworks"); 
     twitter.setStatus(params[0]); 
     Log.d(TweetActivity.getLogtag(),"Successfully Posted: " + params[0]); 
     return "Successfully Posted: " + params[0]; 
     } catch (TwitterException e) { 
      Log.e(TweetActivity.getLogtag(),"Died ", e); 
      e.printStackTrace(); 
      return "Failed Posting: " + params[0]; 
     } 

    } 

    @Override 
    protected void onPostExecute(String result) { 
     // TODO Auto-generated method stub 
     super.onPostExecute(result); 
     Toast.makeText(TweetActivity.this, "result " + result ,Toast.LENGTH_SHORT).show(); 

    } 

} 

並請可能有人解釋這portio

+0

ok.will那樣做。感謝 – nnanna

+0

發佈你的logcat。 –

+0

請使用twitter4j庫,以下使用twitter集成的答案鏈接,它可以幫助你。 [在Android中集成twitter](http://stackoverflow.com/questions/11357731/integrating-twitter-in-android/11358052#11358052) –

回答

0

有一對夫婦在你的代碼的bug ......

首先:

Twitter twitter = new Twitter("screenname", "password"); 

您不能在Twitter上使用基於密碼的登錄。
(爲什麼這個構造的存在呢?這對其他服務,如WordPress的& identi.ca,支持Twitter的API)

您需要使用基於OAuth的登錄。

如果您有最新版本的JTwitter,那麼您可以使用一個名爲AndroidTwitterLogin的類來處理登錄。

其次:

twitter.setAPIRootUrl("https://twitter.com/#!/nindevworks"); 

你並不需要爲Twitter的API的根URL(這也是Wordpress或identi.ca)

我希望幫助!

+0

但我認爲這段代碼應該工作,如果你想登錄一些支持twitter的頁面API。我在這裏遇到同樣的問題。 – Misaki