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