1

こんにちは、Android アプリケーションで SOAP Web サービスを介した MySQL 接続を使用して、ログイン フォーム (ユーザー名、パスワード、および送信ボタン) を開発しました。ここで、パスワードを忘れたということは、アカウントにアクセスできないことを意味します.次に、アカウントにアクセスするにはどうすればよいですか.最初の登録ページはすべて完了してから、ログインページに移動します.登録ページには、ユーザー名、パスワード、および電子メールがあります.パスワードを忘れた場合は、クリックすることを意味しますパスワードを忘れた場合のテキストビュー。次に、パスワードを忘れるアクティビティに移動します。ここで、登録したメール ID を入力すると、パスワードがメール ID に送信されることを意味します。どうすればよいですか。ガイドしてください。下の画像のように:ここに画像の説明を入力

ここに画像の説明を入力

Dis アプリを作成するにはどうすればよいですか。アクティビティの XML リソースで dis コードを作成しました。ForgetPassword Java コードを作成するにはどうすればよいですか? 私はこれを行うことができないようです。

まだ私のJavaコードは次のとおりです。

Login.java :

package com.soap;

 import org.ksoap2.SoapEnvelope;
 import org.ksoap2.serialization.PropertyInfo;
 import org.ksoap2.serialization.SoapObject;
 import org.ksoap2.serialization.SoapPrimitive;
 import org.ksoap2.serialization.SoapSerializationEnvelope;
 import org.ksoap2.transport.HttpTransportSE;
 import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.TextView;

 public class Login extends Activity {
 private final String NAMESPACE = "http://ws.userlogin.com";
private final String URL = "http://192.168.1.168:8085/Login/services/Login?wsdl";
private final String SOAP_ACTION = "http://ws.userlogin.com/authentication";
private final String METHOD_NAME = "authentication";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login);
    Button register = (Button) findViewById(R.id.btn_reg);
    register.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // Switching to Register screen
            Intent i = new Intent(getApplicationContext(), Register.class);
            startActivity(i);
        }
    });
    Button logout = (Button) findViewById(R.id.btn_logout);
    logout.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // Switching to Register screen
            Intent i = new Intent(getApplicationContext(), Login.class);
            startActivity(i);
        }
    });
    TextView forgetpassword = (TextView) findViewById(R.id.TextView03);
    forgetpassword.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // Switching to Register screen
            Intent i = new Intent(getApplicationContext(), ForgetPassword.class);
            startActivity(i);
        }
    });
    Button login = (Button) findViewById(R.id.btn_login);
    login.setOnClickListener(new View.OnClickListener() {

     public void onClick(View arg0) {
     loginAction();

        }
       });
        }

  private void loginAction(){
  SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

    EditText userName = (EditText) findViewById(R.id.tf_userName);
    String user_Name = userName.getText().toString();
    EditText userPassword = (EditText) findViewById(R.id.tf_password);
    String user_Password = userPassword.getText().toString();

  //Pass value for userName variable of the web service
    PropertyInfo unameProp =new PropertyInfo();
    unameProp.setName("userName");//Define the variable name in the web service method
    unameProp.setValue(user_Name);//set value for userName variable
    unameProp.setType(String.class);//Define the type of the variable
    request.addProperty(unameProp);//Pass properties to the variable

  //Pass value for Password variable of the web service
    PropertyInfo passwordProp =new PropertyInfo();
    passwordProp.setName("password");
    passwordProp.setValue(user_Password);
    passwordProp.setType(String.class);
    request.addProperty(passwordProp);

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.setOutputSoapObject(request);
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

    try{
        androidHttpTransport.call(SOAP_ACTION, envelope);
           SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
           String status = response.toString();
           TextView result = (TextView) findViewById(R.id.tv_status);
           result.setText(response.toString());

           if(status.equals("Success!"))
            {
               Intent intent = new Intent(Login.this,HomePage.class);
               intent.putExtra("username",userName.getText().toString());
               startActivity(intent);


            }
           else
            {
               Intent i = new Intent(getApplicationContext(), Login.class);
               startActivity(i);
            }
           }



    catch(Exception e){

    }
   }

     }
4

3 に答える 3

2

ユーザーパスワードが暗号化されていない場合。

1-Web サービス emailPasswordToUser を作成する この "emailPasswordToUser" Web サービスは、ユーザーが Android アプリケーションに入力する "emailaddress" の 1 つのパラメーターを受け取り、ボタンを送信した後、KSOAP ライブラリを介して "emailPasswordToUser" がヒットします。

"emailPasswordToUser" この Web サービスは以下をチェックします。

A - ユーザーの電子メール アドレスがデータベースに存在するかどうか。

B - 存在する場合は、Web サービス パラメーターから受信した「emailaddress」からユーザー情報を取得し、この「emailaddress」にユーザー パスワードをメールで送信し、「パスワードが送信されました」というメッセージを Android 側に返します。あなたのメールアドレスに」

C - 存在しない場合、Web サービスは「そのようなユーザーは存在しません」というメッセージを返します。

ありがとう

于 2012-07-18T13:50:29.990 に答える
0

MySQLにアクセスできるサーバーを作成し、メールでパスワードを見つけて、ユーザーにメールを送信する必要があります。アプリでそれを行うべきではありません。

于 2012-07-18T10:34:44.637 に答える
0
  1. Java Mail API を使用して、アプリケーションからメールを送信できます
  2. アプリケーションでこの機能を使用するには、インターネット接続が必要です。
  3. Java Mail API の実装については、このリンクを参照してください。郵便
于 2012-07-18T10:35:51.107 に答える