java - 应用程序没有响应

标签 java android eclipse ksoap2

我正在使用 KSOAP 使用 Web 服务发送要存储在数据库中的详细信息。此代码之前运行良好,我没有对其进行任何更改。现在它不工作了。请帮忙。我检查了网络服务,它可以工作。我附上了日志猫的详细信息。请帮忙!!!

public class Registration extends Activity{
private static final String SOAP_ACTION = "http://tempuri.org/register";
private static final String OPERATION_NAME = "register";
private static final String WSDL_TARGET_NAMESPACE = "http://tempuri.org/";
private static final String SOAP_ADDRESS = "http://10.0.2.2:54714/WebSite1/Service.asmx";
Button sqlRegister, sqlView;

EditText  sqlFirstName,sqlLastName,sqlEmail,sqlMobileNumber,sqlCurrentLocation,sqlUsername,sqlPassword;

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.registration);
sqlFirstName = (EditText) findViewById(R.id.etFname);
sqlLastName = (EditText) findViewById(R.id.etLname);
sqlEmail = (EditText) findViewById(R.id.etEmail);
sqlMobileNumber = (EditText) findViewById(R.id.etPhone);
sqlCurrentLocation = (EditText) findViewById(R.id.etCurrentLoc);

sqlUsername = (EditText) findViewById(R.id.etUsername);
sqlPassword = (EditText) findViewById(R.id.etPwd);

sqlRegister = (Button) findViewById(R.id.bRegister);

sqlRegister.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        switch (v.getId()){
        case R.id.bRegister:

                String firstname = sqlFirstName.getText().toString();
                String lastname = sqlLastName.getText().toString();
                String emailadd = sqlEmail.getText().toString();
                String number = sqlMobileNumber.getText().toString();
                String loc = sqlCurrentLocation.getText().toString();
                String uname = sqlUsername.getText().toString();
                String pwd = sqlPassword.getText().toString();

                SoapObject Request = new SoapObject(WSDL_TARGET_NAMESPACE,OPERATION_NAME);
                Request.addProperty("fname", String.valueOf(firstname));
                Request.addProperty("lname", String.valueOf(lastname));
                Request.addProperty("email", String.valueOf(emailadd));
                Request.addProperty("num", String.valueOf(number));
                Request.addProperty("loc", String.valueOf(loc));
                Request.addProperty("username", String.valueOf(uname));
                Request.addProperty("password", String.valueOf(pwd));
                Toast.makeText(Registration.this, "You have been registered Successfully", Toast.LENGTH_LONG).show();

                SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                envelope.dotNet = true;
                envelope.setOutputSoapObject(Request);
                HttpTransportSE httpTransport  = new HttpTransportSE(SOAP_ADDRESS);
                try
                {
                    httpTransport.call(SOAP_ACTION, envelope);
                    SoapObject response = (SoapObject)envelope.getResponse();
                    int result =  Integer.parseInt(response.getProperty(0).toString());
                    if(result == '1'){
                        Toast.makeText(Registration.this, "You have been registered Successfully", Toast.LENGTH_LONG).show();
                    }
                    else
                    {
                        Toast.makeText(Registration.this, "Try Again", Toast.LENGTH_LONG).show();
                    }
                }
                catch(Exception e)
                {
                   e.printStackTrace();
                }

            break;
        }
           }
        });
    }

}

enter image description here

最佳答案

您收到“应用程序未响应”错误的原因非常简单:您正在主 (UI) 线程上发出 Web 请求。 Android 线程模型有两条规则: 1) 不要阻塞主线程超过几秒 2) 不要从主线程之外更新 UI。您违反了第一条规则。您应该考虑使用 AsyncTask进行更长时间的操作。

关于java - 应用程序没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11424374/

相关文章:

java - 如何中断在 take() 上阻塞的 BlockingQueue?

java - 无法在Java Applet中实现play方法,JMF安装不正确

java - 刷新 Atom 中保存的文件上的 Eclipse 项目

xml - Eclipse:跳转到 XML 元素匹配标签的快捷方式

java - onCreateOptionsMenu Inflater 在 Android Java 类中不起作用

java - Eclipse 构建路径嵌套错误

java - 启动 Eclipse 时未找到 com/google/appengine/tools/enhancer/Enhance 的类异常

java - 是否可以通过 Selenium RC 加载外部 javascript?

android - 使用静态方法创建 AlertDialog?

android - IllegalArgumentException : Unknown URL content://com. android.calendar/events 在 Android 上向日历插入事件时