2011-06-07 63 views
-1

假設用戶在編輯文本中輸入10位數字,例如1234567890。如何在android中以某種格式發佈數據

public class main extends Activity { 

    EditText number; 
    @override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     number=(EditText)findviewbyid(R.id.munber); 

     String pno=number.getText().toString(); 

現在我必須發送(http Post)這個數字(123)456-7890格式到服務器端提交點擊。我怎樣才能做到這一點?

如果你有一個例子,然後與我分享。

+3

讓服務器完成所有繁重工作是否合理?如果它可以接受任何格式的數據然後進行解析,那麼這將簡化您的應用程序。 – BryanH 2011-06-07 18:19:38

回答

0

一個快速和骯髒的方式來格式化字符串是

String pno=number.getText().toString(); 
String hpno = "(" + pno.substring(0,3) + ")" + pno.substring(3,6) + "-"+pno.substring(6, pno.length()); 

,然後你可以張貼。

+0

感謝您的答覆。 – sachin 2011-06-10 17:10:53

0

我所知道的是使用HttpClient庫最簡單的方法:將執行後,返回到客戶端的響應

public static String postRequest(String uri) throws Exception { 
    BufferedReader in; 
    StringBuffer sb = new StringBuffer("Error: Could not connect to host"); 
    try { 
     HttpClient client = new DefaultHttpClient(); 
     HttpPost post = new HttpPost(); 
     post.setURI(new URI(uri); 
     HttpResponse response = client.execute(post); 
     in = new BufferedReader 
     (new InputStreamReader(response.getEntity().getContent())); 
     sb = new StringBuffer(""); 
     String line = ""; 
     String NL = System.getProperty("line.separator"); 
     while ((line = in.readLine()) != null) { 
      sb.append(line + NL); 
     } 
     in.close(); 
    }catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return sb.toString(); 
} 

。適用於我的簡單REST CRUD應用程序。

ref:here

+0

謝謝你的例子。 – sachin 2011-06-10 17:13:01