2014-02-19 204 views
0

我正在学习在Android中开发服务并遵循Marakana Yamba示例。winterwell.jtwitter.TwitterException:org.json.JSONException:值java.lang.String类型的<!DOCTYPE无法转换为JSONArray

我已经创建了UpdaterService,它可以提取推文和常规时间间隔,以及一个RefreshService,它将在选择时拉动推文。

对于拉动鸣叫的代码是在这两种服务,但在RefreshService我得到以下错误,而UpdateService运行withput任何错误相同:

02-19 14:31:41.359 1323-1345/com.tutorial.yamba.yamba W/System.err﹕ winterwell.jtwitter.TwitterException: org.json.JSONException: Value (JSONArray.java:96) 02-19 14:31:41.379 1323-1345/com.tutorial.yamba.yamba W/System.err﹕ at org.json.JSONArray.(JSONArray.java:108) 02-19 14:31:41.389 1323-1345/com.tutorial.yamba.yamba W/System.err﹕ at winterwell.jtwitter.Twitter$Status.getStatuses(Twitter.java:339) 02-19 14:31:41.389 1323-1345/com.tutorial.yamba.yamba W/System.err﹕ ... 7 more

下面是RefreshService类

package com.tutorial.yamba.yamba; 

import android.app.IntentService; 
import android.content.Intent; 
import android.util.Log; 

import java.util.List; 

import winterwell.jtwitter.Twitter; 
import winterwell.jtwitter.Twitter.Status; 
import winterwell.jtwitter.TwitterException; 

public class RefreshService extends IntentService { 

    static final String TAG = "RefreshService"; 
    Twitter twitter; 

    public RefreshService() { 
     super(TAG); 
    } 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     twitter = new Twitter(someusername, somepassword); 
     twitter.setAPIRootUrl("http://www.yamba.marakana.com/api"); 
     Log.d(TAG, "onCreate"); 
    } 

    @Override 
    protected void onHandleIntent(Intent intent) { 
     Log.d(TAG,"onhandleIntent enter"); 
     try { 
      List<Status> timeline = twitter.getPublicTimeline(); 
      Log.d(TAG,timeline.size()+""); 
      for (Status status : timeline) 
      { 
       Log.d(TAG, String.format("%s: %s", status.user.name, status.text)); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     Log.d(TAG, "onDestroy"); 
    } 


} 

任何帮助将不胜感激。

谢谢。

回答

0

该错误消息看起来像服务器返回一个HTML错误页面。 我认为Marakana服务器可能已经移动(或关闭)。

为什么不尝试直接使用Twitter? 您需要使用oauth进行身份验证,否则Marakana教程应该没问题。

或者有identi.ca,它可以使用名称/密码。但oauth并不那么难,而Twitter则更有趣。

注意:最好从http://www.winterwell.com/software/jtwitter.php

+0

下载最新JTwitter但是代码相同的路径从UpdateService类工作。 – user3275095

+0

@ user3275​​095 UpdateService类? Jtwitter没有一个。这是你自己的课程/来自教程的东西吗?请提供更多细节。 –

+0

准确。这两个类都来自教程。 – user3275095

相关问题