如何将数据从EditText发送到网站?

时间:2013-07-06 17:06:00

标签: android web

我正在制作一个应用程序,我需要进行一个“注册”活动,其中有很少的EditTexts。现在,我面临的问题是我需要将EditText中的数据发送到某个网站。该网站也有相同的注册页面。

请以某种方式建议我如何将数据发送到该网站的特定栏目。

我附上了网站的图片 enter image description here enter image description here img1 是网站的形象和 img2 是我的应用程序的图像。

P.S。该网站是在PHP,我与拥有该网站的人没有任何关系。所以我不能指望他有任何帮助。

提前感谢!

1 个答案:

答案 0 :(得分:0)

要从EditText读取值,请执行以下操作:

EditText edit   = (EditText)findViewById(R.id.edittext);
String name = edit.getText().toString();

对表格

中的所有其他值执行此操作

尝试使用此功能将数据发布到处理注册的服务器上的脚本。

public void postData(String name, String email, String password, String city, 
String phone, String, address, String pin) {
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://www.yoursite.com/registration.php");

    try {
        // Add your data
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        nameValuePairs.add(new BasicNameValuePair("Name", name));
        nameValuePairs.add(new BasicNameValuePair("Email", email));
        nameValuePairs.add(new BasicNameValuePair("Password", password));
        nameValuePairs.add(new BasicNameValuePair("City", city));
        nameValuePairs.add(new BasicNameValuePair("Phone", phone));
        nameValuePairs.add(new BasicNameValuePair("Address", address));
        nameValuePairs.add(new BasicNameValuePair("Pin", pin));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);

    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }
} 

在进行实际发布之前,您应该检查此表单中发送的值,因为我假设这些值是进入数据库的,并且检查有效数据是一种好的做法。

同样在您的Android清单文件中,您应启用互联网使用。

<manifest xlmns:android...>
 ...
 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>

您应该考虑的另一点是,网络将无法随时在手机上使用。因此,您应该在进行上述调用之前检查网络状态。您应该设置另一个权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

现在您可以使用此功能轮询网络可用性:

public boolean checkNetwork() {
    ConnectivityManager connectivityManager = (ConnectivityManager) 
      getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
    if (networkInfo != null && networkInfo.isConnected()) {
        return true;
    }else{
        return false;
    }
}