我目前正在开发我的第一个Android应用程序,我有一个问题,连接到Twitter从我的Android 3.2模拟器发布状态。模拟器似乎能够连接到互联网,因为我可以使用内置的浏览器连接到网络,我设置了DNS服务器。
![应用] [1]
当我单击更新按钮时,整个应用程序失败并出现以下错误:
抱歉!应用程序Burnett Street Hustle v1(进程com.burnettstreethustle)意外停止,请再试一次。
由于代码编译并运行,直到我点击“更新”按钮我不知道出了什么问题,因为错误信息也不清楚。
这是我的代码:
public class TwitterTab extends Activity implements OnClickListener {
static final String TAG = "TwitterTab";
Button buttonUpdate;
EditText textStatus;
public void onClick(View src) {
String JTWITTER_OAUTH_KEY = "***************************";
String JTWITTER_OAUTH_SECRET = "*****************************"; // i do have these codes as the app is registered, they have just been blanked out and are not the cause of the problem.
OAuthSignpostClient oauthClient = new OAuthSignpostClient(JTWITTER_OAUTH_KEY,JTWITTER_OAUTH_SECRET, "http://127.0.0.1:1066/Twitter/Callback.aspx");
oauthClient.authorizeUrl();
String v = OAuthSignpostClient.askUser("Please enter the verification PIN from Twitter");
oauthClient.setAuthorizationCode(v);
Object accessToken = oauthClient.getAccessToken();
Twitter jtwit = new Twitter("burnettstrhustl", oauthClient);
String status = textStatus.getText().toString();
Log.d(TAG, "Clicked on "+ status);
// Toast
Toast.makeText(this, textStatus.getText(), Toast.LENGTH_LONG).show();
// set twitter status
jtwit.setStatus(status);
//reset status string
textStatus.setText("");
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.twitter);
buttonUpdate = (Button) findViewById(R.id.buttonUpdate);
textStatus = (EditText) findViewById(R.id.textStatus);
// Add listener
buttonUpdate.setOnClickListener(this);
}
我也不确定如何正确使用回调网址,哪个网址必须在那里进行授权?
感谢。
更新堆栈跟踪:
09-16 17:05:41.537:ERROR / AndroidRuntime(409):winterwell.jtwitter.TwitterException:oauth.signpost.exception.OAuthCommunicationException:与服务提供商的通信失败:null
答案 0 :(得分:1)
您在那里使用仅限桌面的示例代码。
最佳做法是创建将用户发送到授权URL的意图。然后从Twitter获取带有授权信息的后续Web请求。
Marakana还有一个Android / JTwitter示例: http://marakana.com/forums/android/examples/312.html
答案 1 :(得分:1)
您的应用是否在清单文件中设置了互联网权限?