0

私はアンドロイドRESTletの初心者です。URL に接続して、ボタンのクリック時に情報を取得しようとしています。しかし、「java.lang.IllegalStateException: アクティビティのメソッドを実行できませんでした」および「原因: java.lang.reflect.InvocationTargetException」というエラーが表示されます。これを解決する方法を教えてください。

private EditText text1;
private EditText text2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text1 = (EditText) findViewById(R.id.editText1);
text2 = (EditText) findViewById(R.id.editText2);
}
public void onClick(View view) throws Exception {
double lat;
double lon;
String url = BASE_URL + "sites/" + SITE_ID + "/stations/" + STATION_MAC + "/";
ClientResource itsClient = new ClientResource(url);
itsClient.setChallengeResponse(ChallengeScheme.HTTP_BASIC, USERNAME, PASSWORD);

// Retrieve and parse the JSON representation
JsonRepresentation jsonRep = new JsonRepresentation(itsClient.get());
JSONObject jsonObj = jsonRep.getJsonObject();

// Output results
lat=jsonObj.getJSONObject("loc").getDouble("lat");
lon=jsonObj.getJSONObject("loc").getDouble("lng");

switch (view.getId()) {
    case R.id.button1:
    String lats = Double.toString(lat);
    text1.setText(lats);
    String lons = Double.toString(lon);
    text2.setText(lons);
    break;
 }

}

以下はlogcatです:

03-22 18:25:38.834: E/Trace(755): error opening trace file: No such file or directory (2)
03-22 18:25:39.064: E/dalvikvm(755): Could not find class 'org.restlet.resource.ClientResource', referenced from method com.android.navigation.MainActivity.onClick
03-22 18:25:39.064: W/dalvikvm(755): VFY: unable to resolve new-instance 546 (Lorg/restlet/resource/ClientResource;) in Lcom/android/navigation/MainActivity;
03-22 18:25:39.076: D/dalvikvm(755): VFY: replacing opcode 0x22 at 0x0018
03-22 18:25:39.096: D/dalvikvm(755): DexOpt: unable to opt direct call 0x0d80 at 0x1a in Lcom/android/navigation/MainActivity;.onClick
03-22 18:25:39.126: D/dalvikvm(755): DexOpt: unable to opt direct call 0x0d7e at 0x2c in Lcom/android/navigation/MainActivity;.onClick
03-22 18:25:40.036: I/Choreographer(755): Skipped 40 frames!  The application may be doing too much work on its main thread.
03-22 18:25:40.114: D/gralloc_goldfish(755): Emulator without GPU emulation detected.
03-22 18:25:58.035: I/Choreographer(755): Skipped 210 frames!  The application may be doing too much work on its main thread.
03-22 18:26:00.554: D/AndroidRuntime(755): Shutting down VM
03-22 18:26:00.564: W/dalvikvm(755): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
03-22 18:26:00.654: E/AndroidRuntime(755): FATAL EXCEPTION: main
03-22 18:26:00.654: E/AndroidRuntime(755): java.lang.IllegalStateException: Could not execute method of the activity
03-22 18:26:00.654: E/AndroidRuntime(755):  at android.view.View$1.onClick(View.java:3591)
03-22 18:26:00.654: E/AndroidRuntime(755):  at android.view.View.performClick(View.java:4084)
03-22 18:26:00.654: E/AndroidRuntime(755):  at android.view.View$PerformClick.run(View.java:16966)
03-22 18:26:00.654: E/AndroidRuntime(755):  at android.os.Handler.handleCallback(Handler.java:615)
03-22 18:26:00.654: E/AndroidRuntime(755):  at android.os.Handler.dispatchMessage(Handler.java:92)
03-22 18:26:00.654: E/AndroidRuntime(755):  at android.os.Looper.loop(Looper.java:137)
03-22 18:26:00.654: E/AndroidRuntime(755):  at android.app.ActivityThread.main(ActivityThread.java:4745)
03-22 18:26:00.654: E/AndroidRuntime(755):  at java.lang.reflect.Method.invokeNative(Native Method)
03-22 18:26:00.654: E/AndroidRuntime(755):  at java.lang.reflect.Method.invoke(Method.java:511)
03-22 18:26:00.654: E/AndroidRuntime(755):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
03-22 18:26:00.654: E/AndroidRuntime(755):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-22 18:26:00.654: E/AndroidRuntime(755):  at dalvik.system.NativeStart.main(Native Method)
03-22 18:26:00.654: E/AndroidRuntime(755): Caused by: java.lang.reflect.InvocationTargetException
03-22 18:26:00.654: E/AndroidRuntime(755):  at java.lang.reflect.Method.invokeNative(Native Method)
03-22 18:26:00.654: E/AndroidRuntime(755):  at java.lang.reflect.Method.invoke(Method.java:511)
03-22 18:26:00.654: E/AndroidRuntime(755):  at android.view.View$1.onClick(View.java:3586)
03-22 18:26:00.654: E/AndroidRuntime(755):  ... 11 more
03-22 18:26:00.654: E/AndroidRuntime(755): Caused by: java.lang.NoClassDefFoundError: org.restlet.resource.ClientResource
03-22 18:26:00.654: E/AndroidRuntime(755):  at com.android.navigation.MainActivity.onClick(MainActivity.java:36)
03-22 18:26:00.654: E/AndroidRuntime(755):  ... 14 more
03-22 18:26:05.975: I/Process(755): Sending signal. PID: 755 SIG: 9

最初に、「外部 jar ファイルの追加」を使用して restlet jar ファイルを追加しました。後でグーグルで調べた後、これらのjarファイルをLibsフォルダーに追加し、Configure Build PathのAdd Jar filesを使用して追加しました。その方法を試してみると、「実行時にコマンド出力がありません: 'am start -n .............. jar ファイルを追加する正しい方法は何ですか? どうすればよいですか?」というエラーが表示されました。この問題を解決しますか?

4

1 に答える 1

3
Caused by: Unauthorized (401) - Unauthorized

だからあなたの間違いは明らかです。あなたはいくつかの要求をしようとしていServerますが、おそらく401 不正アクセスを引き起こした間違ったログインとパスワードを提供した可能性があります。

正しいLOGINとを渡すようにしてくださいPASSWORD

于 2013-03-22T12:17:44.837 に答える