2012-05-04 9 views
1

Androidでthis API javaを実行しようとしています。 Androidには端末がないので、System.out.printlne.printStackTraceはコンパイルされず、私はそれらを見つけたCartoDBClientSecuredCartoDBClientクラスに置き換えようとしました。しかし、やっているLogCatここAndroidでJava APIを使用する

コードでこれらのエラーとの密接な予期せぬアプリケーション

SecuredCartoDBClient:

@Override 

    public String executeQuery(String sqlQuery){ 
     String json = null; 
     if(oAuthService == null){ 
      //System.out.println("Error : uninitialized " + getClass().getName()); 
      Log.e(TAG, "Error : uninitialized " + getClass().getName(), null); 
      return null; 
     } 
     OAuthRequest request = new OAuthRequest(Verb.POST, securedApiUrl); 
     request.addBodyParameter("q", sqlQuery); 
     oAuthService.signRequest(accessToken, request); 
     Response response = request.send(); 
     if(!response.isSuccessful()){ 
      //System.out.println("The query " + sqlQuery + " failed."); 
      Log.w(TAG, "The query " + sqlQuery + " failed.", null); 
      //System.out.println("Response code : " + response.getCode()); 
      Log.i(TAG, "Response code : " + response.getCode(), null); 
     } 
     json = response.getBody(); 
     return json; 
    } 

CartoDBClient.java ..ここでエラー

@Override 

    public String executeQuery(String sqlQuery){ 
     String json = null; 
     if(apiURL == null){ 
      //System.out.println("Error : uninitialized " + getClass().getName()); 
      Log.e(sqlQuery, "Error : uninitialized " + getClass().getName()); 
      return null; 
     } 
     try { 
      sqlQuery = URLEncoder.encode(sqlQuery,ENCODING); 
      json = IOUtils.toString(new URL(apiURL+sqlQuery), ENCODING); 
     } catch (MalformedURLException e) { 
      //System.out.println("Could not get URL " + apiURL+sqlQuery); 
      Log.w(TAG, "Could not get URL " + apiURL+sqlQuery); 
      Log.e(TAG, Log.getStackTraceString(e)); 
      //e.printStackTrace(); 
     } catch (UnsupportedEncodingException e) { 
      Log.e(TAG, Log.getStackTraceString(e)); 
      //e.printStackTrace(); 
     }catch (IOException e) { 
      //System.out.println("Could not execute " + sqlQuery+ " on CartoDB : "); 
      Log.w(TAG, "Could not execute " + sqlQuery+ " on CartoDB : "); 
      Log.e(TAG, Log.getStackTraceString(e)); 
      //e.printStackTrace(); 
     } 
     return json; 
    } 

ログキャットに登場するもの

05-04 19:58:39.128: E/AndroidRuntime(372): FATAL EXCEPTION: main 

05-04 19:58:39.128: E/AndroidRuntime(372): java.lang.NoClassDefFoundError: org.apache.commons.io.IOUtils 

05-04 19:58:39.128: E/AndroidRuntime(372): at com.geocap.impl.CartoDBClient.executeQuery(CartoDBClient.java:84) 

05-04 19:58:39.128: E/AndroidRuntime(372): at com.geocap.Geocap.onCreate(Geocap.java:25) 

05-04 19:58:39.128: E/AndroidRuntime(372): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 

05-04 19:58:39.128: E/AndroidRuntime(372): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700) 

05-04 19:58:39.128: E/AndroidRuntime(372): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752) 

05-04 19:58:39.128: E/AndroidRuntime(372): at android.app.ActivityThread.access$1500(ActivityThread.java:123) 

05-04 19:58:39.128: E/AndroidRuntime(372): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:993) 

05-04 19:58:39.128: E/AndroidRuntime(372): at android.os.Handler.dispatchMessage(Handler.java:99) 

05-04 19:58:39.128: E/AndroidRuntime(372): at android.os.Looper.loop(Looper.java:126) 

05-04 19:58:39.128: E/AndroidRuntime(372): at 
android.app.ActivityThread.main(ActivityThread.java:3997) 

05-04 19:58:39.128: E/AndroidRuntime(372): at java.lang.reflect.Method.invokeNative(Native Method) 

05-04 19:58:39.128: E/AndroidRuntime(372): at java.lang.reflect.Method.invoke(Method.java:491) 

05-04 19:58:39.128: E/AndroidRuntime(372): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 

05-04 19:58:39.128: E/AndroidRuntime(372): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 

05-04 19:58:39.128: E/AndroidRuntime(372): at dalvik.system.NativeStart.main(Native Method) 

この問題についてご支援いただきありがとうございます。

+0

コードのどの行が84行目ですか? –

+0

printStackTraceが確実にサポートされています。 –

+0

問題を解決しましたか?私は似たようなものを持っています。 – Hong

答えて

0

あなたのプロジェクトまたはクラスパスにorg.apache.commons libを追加していないと思います。

ここでは、必要なコンポーネントを見つけて、あなたのプロジェクトに追加することができます http://commons.apache.org/components.html

あなたはおそらくIOコンポーネントを欠いています。クラスパスに追加することを忘れないでください!

+0

ありがとう、私は既に3つのライブラリを推奨し、マニフェストで私はjavaで必要ではなかった次の行を書いた。

関連する問題