1

我正在尝试在黑莓 SO 5.0.0 上使用 twitter4j,我确实将 Twitter4j 2.2.2 导入到项目中。

导入所需的类后,错误出现在第 行twitter.setOAuthConsumer("Consumer Key","Secret Key");

错误:无法解析类型 java.io.Serializable。它是从所需的 .class 文件中间接引用的

我可以毫无问题地从库中导入所有类,看来问题不存在。

public class HelloWorld extends UiApplication 
{
public static void main(String[] args) 
{
    HelloWorld theApp = new HelloWorld();
    theApp.enterEventDispatcher();
}


public HelloWorld() 
{

    //MessengerContact contact =  BlackBerryMessenger.getInstance().chooseContact();
    //if(contact!=null)
    //contact.getContactId();

    HelloWorldScreen h = new HelloWorldScreen();
    pushScreen(h);
}

}

我的主屏幕是这样的

class HelloWorldScreen extends MainScreen 
{

public static int level=0;
public HelloWorldScreen() 
{
    super();
    LabelField title = new LabelField("BBM", LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH);
    setTitle(title);

    addMenuItem(new MenuItem("BBM", 10, 10) {  
        public void run() {  
          //
            try{
                BrowserField bf = new BrowserField();
                UiApplication.getUiApplication().getActiveScreen().add(bf);

                Twitter twitter = new TwitterFactory().getInstance();
                twitter.setOAuthConsumer("XvQQ1trJYrSddj5bxp8mBg", "QrE6kZRtaz3xedH4KhP1c210hVjMDZknyjAgh0Q9w");

                RequestToken requestToken = twitter.getOAuthRequestToken();
                AccessToken accessToken = null;
                //BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                while (null == accessToken) {
                System.out.println("Open the following URL and grant access to your account:");

                //bf.requestContent(new StringBuffer().append(requestToken.getAuthorizationURL()));
                System.out.print("Enter the PIN(if available) or just hit enter.[PIN]:");
                AutoTextEditField pin = new AutoTextEditField("Ingrese PIN(*)", "");
                /**
                try{
                if(pin.length() > 0){
                accessToken = twitter.getOAuthAccessToken(requestToken, pin);
                }else{
                accessToken = twitter.getOAuthAccessToken();
                }
                } catch (TwitterException te) {
                if(401 == te.getStatusCode()){
                System.out.println("Unable to get the access token.");
                }else{
                te.printStackTrace();
                }
                }
                **/
                }
                //persist to the accessToken for future reference.
                //storeAccessToken((int) twitter.verifyCredentials().getId() , accessToken);
                Status status = twitter.updateStatus("prueba");
                //System.out.println("Successfully updated the status to [" + status.getText() + "].");

            }catch(Exception e){
                UiApplication.getUiApplication().getActiveScreen().add(new RichTextField(e.getMessage()));
            }
        }  
    }); 


 }

public boolean onClose() 
{

    Dialog.alert("Goodbye!");
    System.exit(0);
    return true;
}



// ...  


}
4

1 回答 1

1

这表明该包是为 Java SE 开发的,不适用于黑莓,即 JME。

每当您看到引用 java.something 中的类的错误消息时,这应该是您的结论。

于 2011-04-18T22:33:39.090 回答