java - 将 Twitter API 添加到我的应用程序

标签 java android twitter

我希望能够将 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/

相关文章:

java - 如何创建 2 个新玩家并从 EditText 字段中获取名称

android - fragment 是否意味着我应该编写单 Activity 应用程序?

java - 在 Java 中处理运行时异常的正确方法

java - 从 Firebase 在 Android 中获取数据时出错

android - 内部类中的 Canvas ,android

Android:将 TabLayout 固定到 Scrollview 的顶部

twitter - 钛从我的应用程序中发送推文

php - 我们可以从 Twitter oauth API 获取电子邮件 ID 吗?

Java Spring启动 Controller @RequestParam给出错误 "Required String parameter '名称'不存在”

java - 如果stream().filter为空