如何在android中以特定格式发布数据

时间:2011-06-07 18:10:01

标签: android

假设用户在编辑文本中输入10位数字,例如1234567890。

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();

现在我必须在提交点击时将(123)456-7890格式的这个号码发送到服务器端(http Post)。我怎样才能做到这一点?

如果您有一个例子,请与我分享。

2 个答案:

答案 0 :(得分:0)

重新格式化字符串的快速而又脏的方法是

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

然后你可以张贴。

答案 1 :(得分: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应用程序。

参考:here