Java 如何从mysql php到android获取数据
我是android开发新手,我在android上开发了一个有3个活动的应用程序,除此之外,我还开发了一个PHP网站,在MySQL上有数据库。我想在android和PHP之间建立连接。我阅读了很多教程,并使用JSON解析器根据这些教程建立了连接,但我不工作。是否可以使用“Web服务””将客户端连接到服务器?现在,我的项目的要求是,我有一个客户注册的形式,我想从中获得所有的数据,是由用户输入,并保存在android上的数据库。我怎么做?是否有可能在我的android应用程序中,我在其他活动中输入数据,并将其保存在MySql数据库中。请帮助我,因为我已经尝试了许多方法来连接和获取数据,但没有成功。请指导从PHP应用程序检索任务详细信息的可能方法 您可以为您的web应用程序创建一个API服务,该服务解析json、xml、csv和许多其他类型,然后您可以从android中调用它 从android调用该服务的方法之一是这样做 这可能对你有帮助Java 如何从mysql php到android获取数据,java,php,javascript,android,mysql,Java,Php,Javascript,Android,Mysql,我是android开发新手,我在android上开发了一个有3个活动的应用程序,除此之外,我还开发了一个PHP网站,在MySQL上有数据库。我想在android和PHP之间建立连接。我阅读了很多教程,并使用JSON解析器根据这些教程建立了连接,但我不工作。是否可以使用“Web服务””将客户端连接到服务器?现在,我的项目的要求是,我有一个客户注册的形式,我想从中获得所有的数据,是由用户输入,并保存在android上的数据库。我怎么做?是否有可能在我的android应用程序中,我在其他活动中输入数据
title = spinnerTitle.getSelectedItem().toString();
firstName = editTextFirstName.getText().toString();
lastName = editTextLastName.getText().toString();
address1 = editTextAddress1.getText().toString();
adddress2 = editTextAddress2.getText().toString();
city = editTextCity.getText().toString();
county = editTextCounty.getText().toString();
postCode = editTextPostCode.getText().toString();
country = spinnerCountry.getSelectedItem().toString();
dayPhone = editTextDayPhone.getText().toString();
evePhone = editTextEvePhone.getText().toString();
String xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"
+ "<users><Title>"+title+"</Title>"
+ "<FirstName>"+firstName+"</FirstName>"
+ "<LastName>"+lastName+"</LastName>"
+ "<Address1>"+address1+"</Address1>"
+ "<Address2>"+adddress2+"</Address2>"
+ "<LoginID>"+userId+"</LoginID>"
+ "<Password>"+password+"</Password>"
+ "<County>"+county+"</County>"
+ "<City>"+city+"</City>"
+ "<Country>"+country+"</Country>"
+ "<PostCode>"+postCode+"</PostCode>"
+ "<Email>"+email+"</Email>"
+ "<DayPhone>"+dayPhone+"</DayPhone>"
+ "<EvePhone>"+evePhone+"</EvePhone>" + "</users>";
serverCall(xml);
private void serverCall(final String xml )
{
ConnectivityManager conMan = ( ConnectivityManager ) getSystemService( Context.CONNECTIVITY_SERVICE );
if( conMan.getActiveNetworkInfo() != null && conMan.getActiveNetworkInfo().isConnected() )
{
result = new Connection().getResponse("http://localhost/registration.php" , xml);
if(result.equals("yes") {
//registration done
} else {
//failed
}
}
}
是的,可以使用Web服务。事实上,这是唯一可行的方法。不,我们不是为你做的。我只是想知道我该怎么做?你可以给我举个例子或教程。这对我会有帮助的。我需要的只是指导,而不是确切的解决方案。谢谢你的回答。好的,谢谢你这么有帮助的指导:)是的,很有帮助。谢谢你
public String getResponse(String connUrl, String xml) {
DefaultHttpClient httpClient = null;
try {
MultipartEntity mp = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
HttpPost method = new HttpPost(connUrl);
method.setEntity(mp);
mp.addPart("xml_request", new StringBody(xml));
httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(method);
if(response.getStatusLine().getStatusCode() == 200){
ByteArrayOutputStream outstream = new ByteArrayOutputStream();
response.getEntity().writeTo(outstream);
return outstream.toString();
}
}
catch(Exception e) {
Log.v("APP", "Exception while create connection for getResponse from server with: " + e.getMessage());
}
finally {
httpClient.getConnectionManager().shutdown();
}
return "";
}