2012-03-14 7 views
0

私は自分のサーバーには、Androidの携帯電話からのデータを送信しようとしていますPOSTメソッドを使用してHttp postメソッドでアンドロイドを使用してサーバーにデータを送信する方法は?

サーバー:JSP データベースに書かれた:

を示すように、JDO

のHTTP POST、JSPファイルとJavaコードのためのコードがあります

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Button sig = (Button)findViewById(R.id.button1); 
    sig.setOnClickListener(this); 
    tv = (TextView)findViewById(R.id.textView1); 
} 

@Override 
public void onClick(View arg0) { 
    // TODO Auto-generated method stub 
    HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost("http://egencies.appspot.com"); 

     try { 
      List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(4); 
      nameValuePairs.add(new BasicNameValuePair("Rid", "00-22-68-E8-EC-F1")); 
      nameValuePairs.add(new BasicNameValuePair("location", "bangalore")); 
      nameValuePairs.add(new BasicNameValuePair("content", "hello frm android")); 
      httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

      HttpResponse response = httpclient.execute(httppost); 
      tv.setText(response.toString()); 

     } catch (ClientProtocolException e) { 
     } catch (IOException e) { 
     } 

JSPファイルのformタグ:JDOのための

<form action="/sign" method="get"> 
<div><input type="text" name="Rid" /></div> 
<div><input type="text" name="location" /></div> 
<div><textarea name="content" rows="3" cols="60"></textarea></div> 
<div><input type="submit" value="Post Greeting" /></div> 
<input type="hidden" name="guestbookName" value="<%= guestbookName %>"/> 
</form> 

Javaコード:

String guestbookName = req.getParameter("guestbookName"); 
Key guestbookKey = KeyFactory.createKey("Guestbook", guestbookName); 
String content = req.getParameter("content"); 
String Rid = req.getParameter("Rid"); 
String location = req.getParameter("location"); 
Date date = new Date(); 
Entity greeting = new Entity("Greeting", guestbookKey); 
greeting.setProperty("user", user); 
greeting.setProperty("date", date); 
greeting.setProperty("content", content); 
greeting.setProperty("Rid", Rid); 
greeting.setProperty("location", location); 
DatastoreService datastore = 
DatastoreServiceFactory.getDatastoreService(); 
datastore.put(greeting); 

resp.sendRedirect("/guestbook.jsp?guestbookName=" 
      + guestbookName);" 

私は[email protected] 言ってMSGを受けるが、何もデータベースに保存されていないばかりされ、それを送ります。 誰も私にこれを助けることができますか?

+0

JDOがこの投稿にどこにいるのか説明してください。 DatastoreServiceとその工場はJDOではなく、おそらくGAE – DataNucleus

+0

です。私はデータストアとpresistancemanagerを使用しています。これはJDOとして正しく動作しますか?または私は間違っていますか? – Rahul

+0

PersistenceManagerはどこですか?あなたはあなたのコードでDatastoreService.putを使用します...それはJDOではありません。 – DataNucleus

答えて

0

フォーム自体は問題ありませんか?フォームはPOSTではなくGETを使用しています.JDOのJavaコードはPOSTではなくGETデータを参照しています。したがって、JDOのフォームとJavaコードを変更してPOSTを使用するか、GETを使用するようにAndroidコードを変更してください。

+0

おっと....私はここで変更するのを忘れてポストメソッドへのコードを更新しました。 http://egencies.appspot.comで確認できます – Rahul

関連する問題