2012-07-22 16 views
0

我正在嘗試使用android手機應用程序爲外業數據集合製作應用程序。形成。我在android中創建了一個表單。現在我很困惑如何將數據發送到服務器。我可以使用txt文件發送數據嗎?如果是的話如何將txt文件從應用程序發送到服務器?有什麼選擇可用於將數據從Android應用程序傳輸到服務器

+0

使用網絡請求,而不是文本文件 – 2012-07-22 15:14:13

回答

0

我會使用的.txtXMLJSON代替,並通過HttpPutHttpPost的數據發送到一個RESTful Web服務器。互聯網上有一些關於如何構建這樣一個服務器的教程(例如使用Jersey的人)。

當用戶完成了輸入和打send - 按鈕,您的應用程序從form收集的所有數據,將其包裝成XMLJSON -object並將其用於服務器。

0

將表單數據發送到服務器的最簡單方法是使用HttpClient和HttpPost。

嘗試這樣:

try { 
    HttpClient http = new DefaultHttpClient(); 
    HttpPost post = new HttpPost("http://www.example.com/process"); 

    List<NameValuePair> data = new ArrayList<NameValuePair>(); 
    data.add(new BasicNameValuePair("name1", "value"); 
    data.add(new BasicNameValuePair("name2", "value"); 
    post.setEntity(new UrlEncodedFormEntity(data)); 

    HttpResponse response = http.execute(post); 
    // do something with the response 
} 
catch (ClientProtocolException e) { 
    // do something 
} 
catch (IOException e) { 
    // do something 
} 

注意,你要在一個的AsyncTask執行此操作,這樣你就不會鎖定在UI線程等待網絡操作完成。

+0

我很欣賞答案。但在我的情況下,數據可能會離線收集,所以數據需要保存,直到有wifi,GPRS或有線連接。希望這是沒有什麼挑戰性,然後你回答。 – 2012-07-22 20:19:42

+0

您可以使用多種方式來序列化數據以進行存儲。如果你喜歡,你可以將它存儲到一個文本文件,然後,當你準備好發送它時,請重新讀入並填寫帖子的數據。只要您可以序列化和反序列化,您存儲的格式取決於您(JSON,XML,CSV,製表符分隔等等)。 – 2012-07-22 20:26:41

相關問題