如何使用android应用程序向twitter发布消息?

如何使用android应用程序向twitter发布消息?,android,twitter,Android,Twitter,我开发了一个twitter应用程序。我需要在编辑框中输入文本后,单击按钮,然后将其发布到twitter 任何人都可以发布代码 我尝试过,但在setStatus()方法中出现错误 这是我的代码,请帮忙 public void onCreate(Bundle savedInstanceState) { System.setProperty("http.keepAlive", "false"); super.onCreate(savedInstanceState);

我开发了一个twitter应用程序。我需要在编辑框中输入文本后,单击按钮,然后将其发布到twitter

任何人都可以发布代码

我尝试过,但在setStatus()方法中出现错误

这是我的代码,请帮忙

public void onCreate(Bundle savedInstanceState) {
        System.setProperty("http.keepAlive", "false");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_oauth);

        //check for saved log in details..
        checkForSavedLogin();

        //set consumer and provider on teh Application service
        getConsumerProvider();

        //Define login button and listener
        buttonLogin = (Button)findViewById(R.id.ButtonLogin);
        buttonLogin.setOnClickListener(new OnClickListener() {  
            public void onClick(View v) {
                askOAuth();
            }
        });

        postText = (EditText)findViewById(R.id.editText1);
        postbtn = (Button)findViewById(R.id.button1);

        postbtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                postTwitter();
            }
        });

    }

    protected void postTwitter() {
        String message = postText.getText().toString();
        System.out.println("Post Twitter.."+message);

        Thread t = new Thread() {
            public void run() {

                 twitter = new Twitter();

                 try
                 {
                 //Status to post in Twitter
                 **twitter.setStatus(postText.getText().toString());**
                 Toast.makeText(AuthActivity.this, "Article Posted to Twitter Successfully!!", Toast.LENGTH_SHORT).show();
                 }
                  catch(Exception e)
                 {
                 Toast.makeText(AuthActivity.this, "Network Host not responding",Toast.LENGTH_SHORT).show();
                 }
            }

        };
        t.start();
        }  

从Android发布到Twitter是Android开发者最早的阶段之一。为了保持对发布过程的完全控制,我们将主要使用纯OAuth帖子,而不是处理意图,因此我们可以保持完全控制。因此,作为一个用户,我们可以思考并得出结论:最典型的身份验证方法是弹出一个窗口,在该窗口中,我们可以识别我们的用户和密码,让应用程序访问我们的帐户(但不是完整的帐户,只是从应用程序发布!),然后忘记其余的过程。对于Android新手来说,这可能有点棘手。当然,Twitter最终会改变他们的API或注册方法,所以我们有时会发现我们以前的实现已经不起作用了

我们首先需要注册一个Twitter应用程序。为此,我们将访问Twitter的开发者网站。登录后,我们将添加一个新的应用程序。没有特别的设置需要记住,但是自从Twitter发布了他们的API以来,回调URL的部分已经发生了非常频繁的变化。目前,如果我们正在开发一个应用程序,我们只需要提供任何随机URL。()

这里是一个示例Android项目,演示如何连接到Twitter,将其令牌和用户名保存在共享首选项上,以便以后可以使用它将状态发布到Twitter。

其他例子包括如何使用AndroidAPI发送消息。这里有一些链接供您帮助

,


别忘了看看这个

首先,你需要在twitter上创建一个应用程序

 ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
            configurationBuilder.setOAuthConsumerKey(context.getResources().getString(R.string.twitter_consumer_key));
            configurationBuilder.setOAuthConsumerSecret(context.getResources().getString(R.string.twitter_consumer_secret));
            configurationBuilder.setOAuthAccessToken(LoginActivity.getAccessToken((context)));
            configurationBuilder.setOAuthAccessTokenSecret(LoginActivity.getAccessTokenSecret(context));
            Configuration configuration = configurationBuilder.build();
            final Twitter twitter = new TwitterFactory(configuration).getInstance();

            new Thread(new Runnable() {

                    private double x;

                    @Override
                    public void run() {
                            boolean success = true;
                            try {
                                    x = Math.random();
                                    twitter.updateStatus(message +" "+x);
                            } catch (TwitterException e) {
                                    e.printStackTrace();
                                    success = false;
                            }

                            final boolean finalSuccess = success;

                            callingActivity.runOnUiThread(new Runnable() {
                                    @Override
                                    public void run() {
                                            postResponse.onFinsihed(finalSuccess);
                                    }
                            });

                    }
            }).start(); 
下面是在twitter上发布消息的代码

 ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
            configurationBuilder.setOAuthConsumerKey(context.getResources().getString(R.string.twitter_consumer_key));
            configurationBuilder.setOAuthConsumerSecret(context.getResources().getString(R.string.twitter_consumer_secret));
            configurationBuilder.setOAuthAccessToken(LoginActivity.getAccessToken((context)));
            configurationBuilder.setOAuthAccessTokenSecret(LoginActivity.getAccessTokenSecret(context));
            Configuration configuration = configurationBuilder.build();
            final Twitter twitter = new TwitterFactory(configuration).getInstance();

            new Thread(new Runnable() {

                    private double x;

                    @Override
                    public void run() {
                            boolean success = true;
                            try {
                                    x = Math.random();
                                    twitter.updateStatus(message +" "+x);
                            } catch (TwitterException e) {
                                    e.printStackTrace();
                                    success = false;
                            }

                            final boolean finalSuccess = success;

                            callingActivity.runOnUiThread(new Runnable() {
                                    @Override
                                    public void run() {
                                            postResponse.onFinsihed(finalSuccess);
                                    }
                            });

                    }
            }).start(); 

查看此链接以了解更多详细信息。

虽然这从理论上可以回答问题,但请在此处包含答案的基本部分,并提供链接以供参考。@XaviLópez thnx for head up我将在发布anwsers之前记住这一点