私はJerseyによって実装されたRestful Web Serviceを持っています。Android から HTTP クライアント経由で接続してデータをフェッチします。API レベル 10 以前のバージョンでは問題なく動作しますが、API レベル 11 以降では動作しません。助けてくれてありがとう。これらのバージョンには nullPointerException があります。
public String getBaseURI(String str) {
String result = "";
try {
HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 3000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
int timeoutSocket = 5000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
HttpGet getRequest = new HttpGet(ServerAddress + str);
getRequest.addHeader("accept", "application/json");
HttpResponse response = httpClient.execute(getRequest);
result = getResult(response).toString();
httpClient.getConnectionManager().shutdown();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return result;
}
private StringBuilder getResult(HttpResponse response) throws IllegalStateException, IOException {
if (response.getStatusLine().getStatusCode() != 201)
throw new RuntimeException("Failed : HTTP error code : " + response.getStatusLine().getStatusCode());
StringBuilder result = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader((response.getEntity().getContent())), 1024);
String output;
while ((output = br.readLine()) != null)
result.append(output);
return result;
}
タグ : AndroidRuntime
logcat 例外:
Exception: FATAL EXCEPTION: main
java.lang.NullPointerException
at com.android.internal.os.LoggingPrintStream.Prrintln(LogiingPrintStream.java.298)
at Client.getBaseURI (Client.java:66)
次のような残りのサービスを呼び出すとき: String str = client.getBaseURI("task/project/get/" + user); エラー
が発生します。
private void listViewSet() {
ListView lv = (ListView) this.findViewById(R.id.listView);
lv.setAdapter(new MultiAdapter(this));
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int pos, long id) {
switch (pos) {
case ADD:
String str = client.getBaseURI("task/project/get/" + user);// Json format
......
}
}
});
}