0

EditText がほとんどない「登録」アクティビティを作成する必要があるアプリケーションを作成しています。今、私が直面している問題は、EditText から Web サイトにデータを送信する必要があることです。このウェブサイトにも同じ登録ページがあります。

ウェブサイトの特定の列にデータを送信する方法を提案してください。

私はウェブサイトの写真を添付し ここに画像の説明を入力 ここに画像の説明を入力 ​​ました img1はウェブサイトの画像で、 img2は私のアプリケーションの画像です。

PS ウェブサイトは php であり、私はこのウェブサイトの所有者とは何の関係もありません。だから私は彼からの助けを期待することはできません.

前もって感謝します!

4

1 に答える 1

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>

考慮すべきもう 1 つの点は、ネットワークが常に電話で利用できるわけではないということです。したがって、上記の呼び出しを行う前に、ネットワークの状態を確認する必要があります。別の権限を設定する必要があります:

<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;
    }
}
于 2013-07-06T17:23:49.210 に答える