для научного проекта я твиттер прямых сообщений с Twitter4j lib и Android 2.1, но приложение сразу вылетает - PullRequest
2 голосов
/ 31 января 2010

Я полный новичок в Java, но мне нужно сделать это приложение для отправки команд через Twitter. Я использую библиотеку twitter4J и Android 2.1. Наконец-то у меня есть код без ошибок, но когда приложение запускается в эмуляторе, оно сразу вылетает Кто-нибудь делал это раньше?

КОД (основной файл):

package edu.shs.SHSSRP;

import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import edu.shs.SHSSRP.TwitterTest;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.widget.Button;

public class SHSSRP extends Activity {
     /** Called when the activity is first created. */  
WebView webview;
Button Forward;
Button Backward;
Button Left;
Button Right;
TwitterTest TwitTest;
@Override
public void onCreate(Bundle savedInstanceState) {


    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);
 Twitter twitter = new TwitterFactory().getInstance("SHSSRP","123ABC1234");
 try {
    Status status = twitter.updateStatus("HELLO WORLD!");
} catch (TwitterException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
/*        Forward = (Button) findViewById(R.id.Forward);
    Backward = (Button) findViewById(R.id.Backward);
    Left = (Button) findViewById(R.id.Left);
    Right = (Button) findViewById(R.id.Right);
    webview = (WebView) findViewById(R.id.webview);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl("http://www.google.com");
    TwitTest.runTest();
 */       
   }
}

КОД (функция)

package edu.shs.SHSSRP;

import twitter4j.DirectMessage;
import twitter4j.ResponseList;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import android.app.Activity;
import twitter4j.*;

public class TwitterTest extends Activity 
{
 public void runTest() 
 {
       // The factory instance is re-usable and thread safe. 
       Twitter twitter = new TwitterFactory().getInstance("SenderID","SenderPass");
       try {
        twitter.sendDirectMessage("ReceiverID", "HelloWorld");
    } catch (TwitterException e) {
        e.printStackTrace();
    }
 }
}

КОД (манифест) просто добавьте разрешение на использование для interet

CODE (макет)

<RelativeLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <WebView 
        android:id="@+id/webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"  />

    <Button
        android:id="@+id/Forward"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@id/webview"
        android:text="@string/Forward" />

    <Button
        android:id="@+id/Left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/Forward" 
        android:layout_alignParentLeft="true"           
        android:text="@string/Left" />

    <Button
        android:id="@+id/Right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true"
        android:layout_below="@id/Forward"
        android:text="@string/Right" />


    <Button
        android:id="@+id/Backward"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" 
        android:layout_centerHorizontal="true"
        android:layout_below="@id/Right"
        android:text="@string/Backward" />

заранее спасибо,

Мэтт

Ответы [ 2 ]

1 голос
/ 31 января 2010

В вашем файле AndroidManifest.xml вы должны указать, что ваше приложение будет подключаться к Интернету.

Вставьте это чуть выше <application> узла:

<uses-permission android:name="android.permission.INTERNET"/>
0 голосов
/ 01 февраля 2010

Как указали другие люди, размещение трассировки стека было бы большой помощью.

При этом, вы также можете подумать о переходе на JTwitter . Из опыта из первых рук я знаю, что он работает на Android, хотя я склонен удалять дубликаты org.json классов, которые есть у JTwitter в опубликованном JAR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...