2

私は1つのAndroidアプリを開発しました。

アプリは、Androidからmysqlデータベースに挿入する値を実行します。

ここで私はSoapWebサービスと呼んでいます。

ここで、edittextフィールドを検証するにはどうすればよいですか。

これは私のWebサービスコードです:

public class RetailerWs {

public String insertData(String Firstname,String Lastname){

 try{

 Class.forName("com.mysql.jdbc.Driver");
 Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/xcart-432pro","root","");
 PreparedStatement statement =  con.prepareStatement("INSERT INTO xcart_customers(firstname,lastname) VALUES ('"+Firstname+"','"+Lastname+"');");
 int result = statement.executeUpdate();
  }

 catch(Exception exc){
 System.out.println(exc.getMessage());
  }

return "Registration is  successfull!!";
}

 }

これは私のAndroidコードです:

   btninsert = (Button)findViewById(R.id.btn_login);
    btninsert.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
         insertValues();
        }
    });
}
 public void insertValues(){
 SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
 EditText Firstname = (EditText) findViewById(R.id.tf_userName);
 String user_Name = Firstname.getText().toString();
 EditText Lastname = (EditText) findViewById(R.id.tf_password);
 String user_Password = Lastname.getText().toString();
 PropertyInfo unameProp =new PropertyInfo();
    unameProp.setName("Firstname");//Define the variable name in the web service method
    unameProp.setValue(user_Name);//Define value for fname variable
    unameProp.setType(String.class);//Define the type of the variable
    request.addProperty(unameProp);//Pass properties to the variable

  //Pass value for userPassword variable of the web service
    PropertyInfo passwordProp =new PropertyInfo();
    passwordProp.setName("Lastname");
    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();


        TextView result = (TextView) findViewById(R.id.result);
        result.setText(response.toString());

       }
     catch(Exception e){

      }

edittextフィールドを検証するにはどうすればよいですか。助けてください

4

2 に答える 2

1

文字列が空であるかどうかを検証するには、次の手順を実行します。1-最初に、メソッドではなくクラスでEditTextフィールドを宣言します。

EditText Firstname;
EditText Lastname;

2-次に、onCreate()メソッドでこれらの変数を初期化します。

Firstname = (EditText) findViewById(R.id.tf_userName);
Lastname = (EditText) findViewById(R.id.tf_password);

3-insertValues();を呼び出す前 メソッドは次のようにします。

if(Firstname.equals(null)||Lastname.equals(null))
{Toast.makeText(context, "Enter Firstname and/or LastName", Toast.LENGTH_SHORT).show();}
else
{insertValues();}

これがお役に立てば幸いです

于 2012-12-01T08:28:27.107 に答える
0

このAndroidコードでは以下の条件を使用する必要があります。

            EditText Firstname = (EditText) findViewById(R.id.tf_userName);
            EditText Lastname = (EditText) findViewById(R.id.tf_password);
            if(Firstname.getText().length()==0)
            {
                Firstname.setError("please enter the firstname");
            }
            else if(Lastname.getText().length()==0)
                {
                    Lastname.setError("please enter the lastname");
            }
            else
            {   
                insertValues();
            }

それは私のためにうまく働いています

于 2012-12-01T09:42:12.243 に答える