2012-04-08 1 views
0

Androidクライアントからシリアル化されたオブジェクトをGoogle App Engineサーブレットに送信する方法を教えてください。
は、私はこのコードを持っている:Androidクライアントからシリアル化されたオブジェクトをGoogle App Engine Servletに送信するにはどうすればよいですか?

private static HttpClient getHttpClient() 
{ 
if (mHttpClient == null) 
{ 
    mHttpClient = new DefaultHttpClient(); 
    final HttpParams params = mHttpClient.getParams(); 
    HttpConnectionParams.setConnectionTimeout(params, HTTP_TIMEOUT); 
    HttpConnectionParams.setSoTimeout(params, HTTP_TIMEOUT); 
    ConnManagerParams.setTimeout(params, HTTP_TIMEOUT); 
} 
return mHttpClient; 
} 

public static String executeHttpPost(String url, Object obj) throws Exception 
{  
    HttpClient client = getHttpClient(); 
    HttpPost request = new HttpPost(url); 
    request.set(???? 
} 

は、どのように私はここから続けていますか?
良い方法がありますか?ここで

答えて

2

あなたが行く:

ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
ObjectOutput out = new ObjectOutputStream(bos); 
out.writeObject(obj); 
byte[] yourObjectSerialized = bos.toByteArray(); 

HttpClient client = getHttpClient(); 
HttpPost request = new HttpPost(url); 
request.setEntity(new ByteArrayEntity(yourObjectSerialized)); 
+0

そして再び、救助にピーター...デュードあなたはROCK !!おかげさまで P.Sバック・セットを返す方法 HttpServletRequestリクエスト – Rami

+0

このようにしないでください。直列化されたJavaオブジェクトを送信する際のセキュリティと移植性の両方の影響があります。代わりに、JSONやプロトコルバッファのような制御する形式を使用してください。 –

+0

@ニック - 私はどちらもしませんが、彼は明示的にそれを求めました。 –

関連する問題