2012-12-30 199 views
0

我是新來的android開發,我開發了一個應用程序在Android上有3個活動,除此之外,我開發了一個PHP網站上有數據庫的MySQL。我想在android和PHP之間建立連接。我閱讀了大量的教程,並根據使用JSON解析器進行連接,但我不工作。是否可以使用「Web服務」將客戶端連接到服務器?現在我的項目的要求是,我有一個客戶註冊表單,我想從中獲取用戶輸入的所有數據,並保存在android數據庫中。我該怎麼做?是否有可能在我的Android應用程序中,我在其他活動中輸入數據,並將其保存在MySql數據庫中。請幫忙,因爲我嘗試了很多方法來連接和獲取數據,但沒有成功。請引導可能的方式從我的PHP應用程序中檢索任務詳細信息。如何獲取數據從MySQL到Android

+1

是的,它可以使用web服務。事實上,這是唯一可行的方法。不,我們不會爲你做。 –

+0

我只想建議我該怎麼做?你可以參考我的例子或教程。這對我有幫助。我只需要指導而不是確切的解決方案。感謝您的回覆 – Android

回答

0

做這樣的。

這可能對你有幫助。

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 
    } 
    } 
} 

Connection.java

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

是的,它的幫助。謝謝你 – Android

2

您可以爲您的Web應用程序製作一個RESTFUL API服務,它解析json,xml,csv和許多其他類型,然後您可以將它稱爲android。

的從Android調用服務的方式之一是android query

+0

好吧,我嘗試,感謝這樣有用的指導:) – Android

+0

不客氣。 –