2012-12-12 29 views
1

我只是試圖發送數據到數據庫作爲概念證明。我目前有一個ASP頁面,將爲我發送數據。我有一個非常基本的Android應用程序將信息發佈到數據庫,但沒有任何數據發佈在那裏。我沒有收到任何錯誤或強制關閉,url是使用該特定ASP文件發送到數據庫的正確url和格式。Android:HttpGet不張貼到數據庫

這裏是我的代碼

HttpClient client = new DefaultHttpClient(); 

      //set url 
      String url = "**removed for security reasons**"; 
      url += "var1=" + editVar1.getText().toString() + "&var2=" + editVar2.getText().toString() + "&var3=" + editVar3.getText().toString(); 

      //display url in toast 
      Toast toast = Toast.makeText(getApplicationContext(), url, Toast.LENGTH_LONG); 
      toast.show(); 

      //prepare connection 
      HttpGet request = new HttpGet(url); 

      //send HttpGet 
      try 
      { 
       client.execute(request); 
      } 
      catch (Exception e){} 

回答

1

首先只是爲了通知你,網絡操作應該在後臺(作爲的AsyncTask或intentService)執行。 其次,你不應該使用GET在數據庫中寫東西。 您應該使用POST,並沒有得到:

 HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost(url); 

     try { 
      List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3); 
      nameValuePairs.add(new BasicNameValuePair("var1", editVar1.getText().toString())); 
      nameValuePairs.add(new BasicNameValuePair("var2",editVar2.getText().toString())); 
      nameValuePairs.add(new BasicNameValuePair("var3",editVar3.getText().toString())); 
      httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

      HttpResponse response = httpclient.execute(httppost); 
+0

我明白我應該使用POST,並沒有得到,但我在做什麼,我想更多的概念證明什麼,我給出的是使用ASP頁GET方法作爲傳遞信息的一種方式。 – Jim

+0

字面上,我問的是如果這個代碼有什麼問題。我稍後可能會將其更改爲POST,但爲了簡單地實現這種類型的數據庫連接,這是我已經告訴的方法。 – Jim

+0

在後臺線程上運行整個進程解決了我的問題。 – Jim