1

Android の Java サーブレットから返される単純な URL 文字列を取得しようとしています。URL を取り戻すことはできますが、先頭に null が追加されています。

サーブレットを呼び出すために使用する Android のコードは次のとおりです。

HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://localhost:8888/mcheck_gen_url_fu");
HttpResponse response = client.execute(request);
//Here i try to read the response
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
while ((line = rd.readLine()) != null) {
    output += line + System.getProperty("line.separator");
}
//I am able to get the response but there is a null pre-pended 

サーブレットのコードは次のとおりです。

public class mcheck_gen_url_fu extends HttpServlet {
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {

        BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
        String output = blobstoreService.createUploadUrl("/mcheck_file_upload");

        resp.setContentType("text/plain");
        resp.getWriter().print(output);
    }
}

URL は次のようになります。

nullhttp://anyusers-MacBook-Air.local:8888/_ah/upload/ag5tY2hlY2stcGF5bWVudHIbCxIVX19CbG9iVXBsb2FkU2Vzc2lvbl9fGBwM

これはこれを行う正しい方法ですか?私はGsonを試しましたが、ヌルでもチョークします。

前もって感謝します。

4

1 に答える 1

2
    output = "";
    while ((line = rd.readLine()) != null) {
        output += line + System.getProperty("line.separator");
    }

ちなみに、ベストプラクティスは

final StringBuilder sb = new StringBuilder();
final String sep = System.getProperty("line.separator");
while ((line = rd.readLine()) != null) {
        sb.append(line).append(sep);
}

output = sb.toString();
于 2012-05-08T03:44:49.577 に答える