2013-07-06 111 views
-1

我在做一个应用程序,我需要做一个“注册”活动,它有很少的EditTexts。现在,我面临的问题是我需要将数据从EditText发送到某个网站。这个网站也有相同的注册页面。如何将数据从EditText发送到网站?

请建议一些方法,我怎样才能发送数据到特定的网站列。

我重视的网站 enter image description here enter image description here IMG1的图片是网站和 IMG2的形象是我的应用程序的图像。

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

在此先感谢!

+0

你在Java中尝试GET/POST请求?它非常简单。但首先,你的图像不显示。 – 2013-07-06 17:07:59

+0

对不起。现在图像编辑.. ,你可以解释get/post的详细信息..我新来的android开发。 –

+0

好吧,那么你知道实际上注册的php脚本吗?我的意思是你知道该脚本的网址吗?如果你这样做,我可以告诉你如何做一个POST到Android中的链接。 – 2013-07-06 17:13:12

回答

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; 
    } 
} 
+0

我会尝试,如果我面临一些困难..感谢很多.. –

+0

如何将按钮点击应用程序中的按钮点击网页? –

+0

同时实现这个我得到android.os.NetworkOnMainThreadException 请解释我错了哪里? –

相关问题