我希望能够将 Twitter 时间线添加到我的应用程序中,并允许用户更新他/她的状态。问题是我不知道如何进入登录屏幕。我尝试在网上搜索,但他们上的所有内容都已过时,我想开发 4.0+ 版本。
这是我到目前为止所得到的:该代码似乎根本不起作用,因为我将其用于 Android > 4.0 的 Android 应用程序,因此它无法使用 15 或更高版本的 SDK 进行编译。这次我也使用 Twitter4J库和文件都已更新。
package com.shirwa.texthero.fragments;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.shirwa.texthero.R;
public class TwitterTab extends Activity implements OnClickListener {
static final String TAG = "MyTwitter";
TwitterTab twitter;
SharedPreferences prefs;
Button buttonUpdate;
Button buttonPrefs;
EditText textStatus;
@Override
public void onClick(View src) {
String status = textStatus.getText().toString();
Log.d(TAG, "Clicked on " + status);
// Toast
Toast.makeText(this, textStatus.getText(), Toast.LENGTH_LONG).show();
// set twitter status
twitter.updateStatus(status);
// reset status string
textStatus.setText("");
}
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// find views by id
buttonUpdate = (Button) findViewById(R.id.buttonUpdate);
textStatus = (EditText) findViewById(R.id.textStatus);
// Add listener
buttonUpdate.setOnClickListener(this);
// Initialize twitter
prefs = PreferenceManager.getDefaultSharedPreferences(this);
String username = prefs.getString("username", "n/a");
String password = prefs.getString("password", "n/a");
if (username != null && password != null) {
twitter = new Twitter(username, password);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
// Called when menu item is selected //
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menuPrefs:
// Launch Prefs activity
Intent i = new Intent(TwitterTab.this, Prefs.class);
startActivity(i);
Log.d(TAG, "MenuPrefs starting Prefs");
Toast.makeText(TwitterTab.this, textStatus.getText(),
Toast.LENGTH_LONG).show();
break;
}
return true;
}
}
最佳答案
在开始之前,我首先要说的是,我通常不会发布链接,只会发布答案。作为一个初学者,我可能曾经这样做过,但现在几乎不再这样做了。除非该帖子是合法有效的帖子,没有链接就无法完整回答。
要开始通过应用程序登录 Twitter,这里有一个精彩的小教程,可以帮助您入门:
Android Twitter oAuth Connect Tutorial并在登录后发布状态更新。
您还可以查看 GitHub 上托管的示例,T4JTwitterLogin 。这是使用您的应用登录 Twitter 并发布状态更新的另一个示例。
至于奖励好东西(好吧,实际上只是一个)。一旦您对 Android 的整体开发感到有点满意,或者当您可以开始破译其他开发人员的代码时,这里有一个完整的功能 Android Application for Twitter这是开源的,可以在 Google Play store 上找到并且相当受欢迎。
这是 GitHub 上搜索结果的链接,其中包含关键字 Android 和 twitter4J:https://github.com/search?q=android+twitter4j&type=Repositories&s=updated
关于java - 将 Twitter API 添加到我的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15377535/