我开发了一个推特应用程序。我需要在输入文本到编辑框后,我点击按钮然后点击发布到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();
}
答案 0 :(得分:9)
从Android发布到Twitter是Android开发人员最早的阶段之一。为了完全控制发布过程,我们将首选使用纯粹的OAuth帖子而不是处理Intent,因此我们可以保持完全控制。因此,作为一个用户,我们可以思考和总结:最典型的身份验证方法是弹出一个窗口,我们可以通过该窗口识别我们的用户和密码,以便应用程序访问我们的帐户(不是完整的帐户,只是为了从应用程序发布!)并忘记剩下的过程。对于Android中的新手来说,这可能是一个棘手的过程。当然,Twitter最终将改变他们的API或注册方法,因此我们有时会发现我们的旧实现不再起作用
我们首先需要注册Twitter应用程序。为此,我们将访问Twitter的开发者网站。登录后,我们将添加一个新的应用程序。没有特别的设置需要记住,但是自从Twitter发布了他们的API以来,回调URL的部分经常发生了变化。目前,如果我们正在开发一个应用程序,我们只需要提供任何随机URL。(More for this article)
这里有一个示例Android项目,展示如何连接到Twitter,在共享首选项上保存它的令牌和用户名,以便以后可以使用它将状态发布到Twitter。 How to Post Twitter Status from Android
其他人介绍了如何发送消息suing androd API。这里有一些链接供你帮助;
Build Android applications with Twitter
http://kenai.com/projects/twitterapime/pages/Home
不要忘记也看到这一点; http://abhinavasblog.blogspot.com/2010/09/using-twitter-with-oauth-on-andorid.html
答案 1 :(得分:3)
首先,你需要在twitter上创建一个应用程序
这是在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();
查看此tutorial了解详情。