我在做一个应用程序,我需要做一个“注册”活动,它有很少的EditTexts。现在,我面临的问题是我需要将数据从EditText发送到某个网站。这个网站也有相同的注册页面。如何将数据从EditText发送到网站?
请建议一些方法,我怎样才能发送数据到特定的网站列。
我重视的网站
IMG1的图片是网站和 IMG2的形象是我的应用程序的图像。
P.S.该网站是在PHP中,我与拥有此网站的人没有任何关系。所以我不能指望他的任何帮助。
在此先感谢!
我在做一个应用程序,我需要做一个“注册”活动,它有很少的EditTexts。现在,我面临的问题是我需要将数据从EditText发送到某个网站。这个网站也有相同的注册页面。如何将数据从EditText发送到网站?
请建议一些方法,我怎样才能发送数据到特定的网站列。
我重视的网站
IMG1的图片是网站和 IMG2的形象是我的应用程序的图像。
P.S.该网站是在PHP中,我与拥有此网站的人没有任何关系。所以我不能指望他的任何帮助。
在此先感谢!
要从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;
}
}
我会尝试,如果我面临一些困难..感谢很多.. –
如何将按钮点击应用程序中的按钮点击网页? –
同时实现这个我得到android.os.NetworkOnMainThreadException 请解释我错了哪里? –
你在Java中尝试GET/POST请求?它非常简单。但首先,你的图像不显示。 – 2013-07-06 17:07:59
对不起。现在图像编辑.. ,你可以解释get/post的详细信息..我新来的android开发。 –
好吧,那么你知道实际上注册的php脚本吗?我的意思是你知道该脚本的网址吗?如果你这样做,我可以告诉你如何做一个POST到Android中的链接。 – 2013-07-06 17:13:12