Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android twitter应用程序:挂起(异常(twitter异常))_Android_Eclipse_Twitter - Fatal编程技术网

android twitter应用程序:挂起(异常(twitter异常))

android twitter应用程序:挂起(异常(twitter异常)),android,eclipse,twitter,Android,Eclipse,Twitter,我想创建一个简单的twitter更新应用程序android。我发现在。 下面是代码MyTwitter.Java: import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.util.

我想创建一个简单的twitter更新应用程序android。我发现在。 下面是代码MyTwitter.Java:

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 winterwell.jtwitter.Twitter;

public class MyTwitter extends Activity implements OnClickListener
{

    static final String TAG = "MyTwitter";

    Twitter 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.setStatus(status);

      //reset status string
      textStatus.setText("");
    }
    /** Called when the activity is first created. */
    @SuppressWarnings("deprecation")
    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
    // when the menu button is pressed another layout is shown. that is menu
    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(MyTwitter.this, Prefs.class);
        startActivity(i);
        Log.d(TAG, "MenuPrefs starting Prefs");
        Toast.makeText(MyTwitter.this, textStatus.getText(), Toast.LENGTH_LONG).show();
        break;

      }    
      return true;
    }
}
另一个是Prefs.java:

import android.os.Bundle;
import android.preference.PreferenceActivity;

public class Prefs extends PreferenceActivity{

  @Override
  public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    addPreferencesFromResource(R.xml.prefs);
  }

}
以下是主要布局xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background">
    <TextView android:text="@string/labelWhatsHappening" android:layout_height="wrap_content" android:textStyle="bold" android:layout_width="fill_parent" android:textSize="30sp" android:gravity="center"></TextView>
    <EditText
        android:id="@+id/textStatus"
        android:typeface="serif"
        android:textColorHint="#E6E6E6"
        android:textColor="#E6E6E6"
        android:maxLength="160"
        android:hint="@string/hintStatus"
        android:background="@color/transparentBlue"
        android:layout_width="fill_parent"
        android:layout_height="100px"
        android:layout_margin="5px"
        android:padding="5px"
        android:minLines="4"></EditText>
    <Button
        android:layout_height="wrap_content"
        android:id="@+id/buttonUpdate"
        android:text="@string/labelUpdate"
        android:layout_width="fill_parent"
        android:background="@drawable/buttonbg"></Button>

</LinearLayout>

当我点击更新按钮时。它强制关闭,我得到以下错误:

Thread [<1> main] (Suspended (exception TwitterException))  
    URLConnectionHttpClient.post(String, Map, boolean) line: 279    
    Twitter.updateStatus(String, Number) line: 2471 
    Twitter.updateStatus(String) line: 2411 
    Twitter.setStatus(String) line: 2183    
    MyTwitter.onClick(View) line: 45    
    Button(View).performClick() line: 2485  
    View$PerformClick.run() line: 9080  
    ViewRoot(Handler).handleCallback(Message) line: 587 
    ViewRoot(Handler).dispatchMessage(Message) line: 92 
    Looper.loop() line: 123 
    ActivityThread.main(String[]) line: 3683    
    Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
    Method.invoke(Object, Object...) line: 507  
    ZygoteInit$MethodAndArgsCaller.run() line: 839  
    ZygoteInit.main(String[]) line: 597 
    NativeStart.main(String[]) line: not available [native method]
Thread[main](挂起(异常TwitterException))
URLConnectionHttpClient.post(字符串、映射、布尔值)行:279
updateStatus(字符串,数字)行:2471
updateStatus(字符串)行:2411
Twitter.setStatus(字符串)行:2183
MyTwitter.onClick(视图)行:45
按钮(视图)。performClick()行:2485
查看$PerformClick.run()行:9080
ViewRoot(处理程序).handleCallback(消息)行:587
ViewRoot(处理程序)。dispatchMessage(消息)行:92
Looper.loop()行:123
ActivityThread.main(字符串[])行:3683
invokenactive(Object,Object[],Class,Class[],Class,int,boolean)行:不可用[本机方法]
调用(对象,对象…)行:507
ZygoteInit$MethodAndArgsCaller.run()行:839
颧骨单位。主(字符串[])行:597
NativeStart.main(字符串[])行:不可用[本机方法]

这与TwitterException有关吗?谢谢

非常快速的回顾,您需要打电话到
setAuthentication

我查看了堆栈跟踪,谷歌搜索了“URLConnectionHttpClient.post(字符串、映射、布尔值)行:279”

必须

阅读代码,然后得出上述结论,因为您似乎没有调用
setAuthentication


你快到了,坚持住

快速查看,您需要拨打
setAuthentication

我查看了堆栈跟踪,谷歌搜索了“URLConnectionHttpClient.post(字符串、映射、布尔值)行:279”

必须

阅读代码,然后得出上述结论,因为您似乎没有调用
setAuthentication

你快到了,坚持住