わかりません:Androidでは、stringbodyに入力した完全な文字列が返されません。文字列が完全に保存されていることを確認しましたが、文字列本体に渡されると壊れてしまいます。同じアプリケーションのデスクトップバージョンでは、結果は成功します。しかし、Androidでは、文字列の最後のランダムな部分が失われます。結果の文字列が失われた後に保存しようとすると、文字列は同じ場所に保存されます。アクセントや特殊文字は使用しません。テストからの例:
最初の書き込み:
これは、私が外出先で書いているランダムなメッセージを含むテストバイオです。これが私が期待しているようにカットされた場合、何かが省略されるだろうと思っています。何が起こるか見てみましょう。
1回の保存でこれが保存されます。
これは、私が外出先で書いているランダムなメッセージを含むテストバイオです。これが私が何かが取り残されることを期待しているようにカットされた場合
2番目の保存:
これは、私が外出先で書いているランダムなメッセージを含むテストバイオです。これが私のようにカットされた場合
コードは
protected void gravarPerfil() throws UnsupportedEncodingException {
MultipartEntity entity = new MultipartEntity();
StringBody sAcerca = null, sLoc = null;
DefaultHttpClient client = new DefaultHttpClient();
if (cookie != null) {
client.getCookieStore().addCookie(cookie);
}
HttpPost post = new HttpPost(address + "/dinamicas/editarPerfil");
FileBody imagebin = null;
if (imgfile != null) {
imagebin = new FileBody(imgfile);
}
Log.v("msg", acerca.getText().toString());
これが私のファイルボディが文字列全体をロードしない部分です
sAcerca = new StringBody(acerca.getText().toString());
sLoc = new StringBody(local.getText().toString());
try {
entity.addPart("acerca", sAcerca);
entity.addPart("localizacao", sLoc);
if (imgfile != null) {
entity.addPart("foto", imagebin);
}
post.setEntity(entity);
HttpResponse response = client.execute(post);
} catch (Exception e) {
e.printStackTrace();
}