2013-03-13 27 views
2

我希望能够将Twitter时间线添加到我的应用程序中,并允许用户更新他/她的状态。问题是我无法弄清楚如何进入登录屏幕。我试着在网上搜索,但所有的都是过时的,我想为4.0+版本开发。将Twitter API添加到我的应用程序

这是我到目前为止:代码似乎并没有工作,因为我用于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; 
    } 
} 
+0

你不知道**什么**?你已经列出了代码,但没有问题本身。为你的问题增加一点清晰度。什么在您发布的代码中无效。 – 2013-03-13 05:18:51

+0

我做了编辑。对不起,先不清楚。 – 2013-03-13 05:25:19

+0

对不起。我仍然不遵循。你坚持要完成登录吗?你是否坚持发布到Twitter?你卡住取时间表吗?你坚持让应用程序在较低的SDK上工作吗?我绝对失去了。 – 2013-03-13 05:34:27

回答

3

在我开始之前,让我说开始,我通常不张贴链接,只有答案。我可能已经是初学者,但几乎没有。除非这篇文章是一个合法有效的文章,如果没有链接就不能完全回答。

要通过你的应用程序开始使用登录到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

0

你在那里使用了什么API?

没有官方的twitter SDK为android构建,只是他们的REST API。为此,我可以亲自推荐图书馆“抄写员”来处理与twitter的整合。它可以处理认证,发布和REST API中指定的任何其他功能。

https://github.com/fernandezpablo85/scribe-java https://dev.twitter.com/docs/api/1.1

+0

我目前使用API​​ 14(4.0冰淇淋三明治)或更高.. – 2013-03-13 05:26:30

+0

您将需要第三方库,如Scribe,我链接到能够处理oauth连接到twitter并使用它的REST API。 – 2013-03-13 05:27:27

+0

等等,所以我会将它实现到我的main.java中或为它创建一个单独的类? – 2013-03-13 05:32:30

0

首先,你必须验证您的应用程序,这将需要2秘密密钥(这将被Twitter您在应用程序提供给你注册)。

其次,你需要使用Oauth进行身份验证,你可以谷歌它,(单独尝试)。

第三,处理回调并处理所需的响应。 use this for reference

1

我已经开发TWITTER我APP.It工作sucessfully..Here是LINK

您可以开发您的应用。

相关问题