Клиент Jersey на Android - NullPointerException

Я пытаюсь создать простой Android-клиент для веб-службы, которую я создал, но что-то идет не так во время выполнения.

Вот Клиент:

public class MyClient extends AsyncTask<EditText, Integer, String> {

private EditText text;

protected String doInBackground(EditText... strings) {

    RuntimeDelegate
            .setInstance(new com.sun.ws.rs.ext.RuntimeDelegateImpl());
    WebResource wbr;
    Client client = Client.create();
    wbr = client
            .resource("http://my.ip:8080/MazeService/rest/service/hello");
    String result = wbr.queryParam("number", "10")
            .accept(MediaType.APPLICATION_JSON).get(String.class);
    text = strings[0];
    return result;
}

protected void onProgressUpdate(Integer... progress) {
    // setProgressPercent(progress[0]);
}

protected void onPostExecute(String result) {
    if (result != null)
        this.text.setText(result);
    else
        Log.d("MyApp", "No Result");
}

}

и Служба:

@Path("/service")
public class AndroidService {

@GET
@Produces(MediaType.APPLICATION_JSON )
@Path("/hello")
public String getJSON(@QueryParam("number") String nr)
{

    String s = "Hi there! The number is: "+nr;
    return s;
}
}

Я получаю эту трассировку стека в LogCat:

02-18 16:26:06.446: E/AndroidRuntime(1381): FATAL EXCEPTION: AsyncTask #1
02-18 16:26:06.446: E/AndroidRuntime(1381): java.lang.RuntimeException: An error occured while executing doInBackground()
02-18 16:26:06.446: E/AndroidRuntime(1381):     at android.os.AsyncTask$3.done(AsyncTask.java:278)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at java.lang.Thread.run(Thread.java:856)
02-18 16:26:06.446: E/AndroidRuntime(1381): Caused by: java.lang.NullPointerException
02-18 16:26:06.446: E/AndroidRuntime(1381):     at javax.ws.rs.core.MediaType.valueOf(MediaType.java:119)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at com.sun.jersey.api.client.ClientResponse.getType(ClientResponse.java:615)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:532)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:506)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at com.sun.jersey.api.client.WebResource.handle(WebResource.java:674)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:503)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at com.maze.client.MyClient.doInBackground(MyClient.java:25)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at com.maze.client.MyClient.doInBackground(MyClient.java:1)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at android.os.AsyncTask$2.call(AsyncTask.java:264)
02-18 16:26:06.446: E/AndroidRuntime(1381):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
02-18 16:26:06.446: E/AndroidRuntime(1381):     ... 5 more

Я не понимаю, в чем проблема, поскольку аналогичный клиент работает на ПК. С IP-адресом проблем нет, так как я могу получить доступ к серверу с Android VirtualDevice.

Версия Android - 4.0.3 API версии 15. В качестве клиента я использовал Jersey 1.11.

РЕДАКТИРОВАТЬ

Я также пытался удалить все это с помощью EditText, так как кто-то сказал мне, что он не используется должным образом. Тем не менее, у меня такая же ошибка. Я просто не могу понять, что делаю не так. Если мне нужно отобразить какую-либо другую дополнительную информацию, пожалуйста, дайте мне знать. Кроме того, ЛЮБАЯ идея хороша. Я новичок в Android и, возможно, совершил несколько глупых ошибок.

17
задан MeTTeO 21 May 2012 в 05:58
поделиться