0

私はAndroid開発に不慣れで、Androidで3つのアクティビティを持つアプリケーションを開発しました。これに加えて、MySQLにデータベースを持つPHPWebサイトを開発しました。アンドロイドとPHPをつなぎたい。たくさんのチュートリアルを読み、JSONパーサーを使用してそれに応じて接続しますが、機能しません。「 Webサービス」を使用してクライアントをサーバーに接続することは可能ですか"?今、私のプロジェクトの要件は、ユーザーが入力し、Androidのデータベースに保存されているすべてのデータを取得したい顧客登録のフォームを持っていることです。どうすればよいですか?それは可能ですか?私のAndroidアプリケーションでは、他のアクティビティにデータを入力すると、MySqlデータベースに保存されます。データを接続して取得するためのさまざまな方法を試しましたが、成功しませんでした。PHPアプリケーションからタスクの詳細を取得するための可能な方法をご案内します。 。

4

2 に答える 2

2

json、xml、csv、およびその他の多くのタイプを解析するWebアプリケーション用のRESTFUL APIサービスを作成し、それをandroidから呼び出すことができます。

アンドロイドからサービスを呼び出す方法の1つはアンドロイドクエリです

于 2012-12-30T15:38:34.970 に答える
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 "";
}
于 2012-12-30T15:51:19.450 に答える