android小疑点,求各位解救啊
android小问题,求各位大虾解救啊!!!!
其他一切都正常,就是点击登录按钮以后,不能正常显示请稍等的对话框~~~~
代码如下:
package com.phome;
import org.ksoap2.SoapEnvelope;
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.app.AlertDialog;
import android.app.ProgressDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class LoginActivity extends Activity implements Runnable {
Button loginButton;
EditText userName;
EditText password;
ProgressDialog dialog;
Handler handler;
boolean result=false;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
loginButton=(Button)findViewById(R.id.signin_button);
userName=(EditText)findViewById(R.id.username_edit);
password=(EditText)findViewById(R.id.password_edit);
//设置登录按钮的事件
loginButton.setOnClickListener(
new Button.OnClickListener()
{
public void onClick(View v) {
//TODO
Thread mThread=new Thread(LoginActivity.this);
dialog = ProgressDialog.show(LoginActivity.this, "提示", "请稍后......", true);
handler = new Handler() {
public void handleMessage(Message msg) {
}
};
mThread.start();
while(true)
{
if(!mThread.isAlive())
{
if(result)
{
Toast.makeText(LoginActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
//loginToBack();
}
else
{
Toast.makeText(LoginActivity.this, "用户信息错误", Toast.LENGTH_SHORT).show();
}
break;
}
}
}
}
);
}
public boolean checkUser() {
String NameSpace = "http://tempuri.org/";
String MethodName = "CheckUser";
//String url = "http://192.168.6.201/WService/WebServices.asmx";
String url = "http://192.168.6.200/WService/WebServices.asmx";
String soapAction = NameSpace + MethodName;
int result = 0;
try {
//step1 指定WebService的命名空间和调用的方法名
SoapObject request = new SoapObject(NameSpace, MethodName);
//step2 设置调用方法的参数值,这里的参数名称最好和WebService一致
request.addProperty("_s_Username", userName.getText().toString());
request.addProperty("_s_Password", password.getText().toString());
//step3 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
//设置是否调用的是dotNet下的WebService
envelope.dotNet = true;
//必须,等价于envelope.bodyOut = request;
envelope.setOutputSoapObject(request);
//step4 创建HttpTransportSE对象
HttpTransportSE ht = new HttpTransportSE(url);
//step5 调用WebService
Log.e("call", "call");
ht.call(soapAction, envelope);
Log.e("callend", "callend");
//step6 使用getResponse方法获得WebService方法的返回结果
其他一切都正常,就是点击登录按钮以后,不能正常显示请稍等的对话框~~~~
代码如下:
package com.phome;
import org.ksoap2.SoapEnvelope;
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.app.AlertDialog;
import android.app.ProgressDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class LoginActivity extends Activity implements Runnable {
Button loginButton;
EditText userName;
EditText password;
ProgressDialog dialog;
Handler handler;
boolean result=false;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
loginButton=(Button)findViewById(R.id.signin_button);
userName=(EditText)findViewById(R.id.username_edit);
password=(EditText)findViewById(R.id.password_edit);
//设置登录按钮的事件
loginButton.setOnClickListener(
new Button.OnClickListener()
{
public void onClick(View v) {
//TODO
Thread mThread=new Thread(LoginActivity.this);
dialog = ProgressDialog.show(LoginActivity.this, "提示", "请稍后......", true);
handler = new Handler() {
public void handleMessage(Message msg) {
}
};
mThread.start();
while(true)
{
if(!mThread.isAlive())
{
if(result)
{
Toast.makeText(LoginActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
//loginToBack();
}
else
{
Toast.makeText(LoginActivity.this, "用户信息错误", Toast.LENGTH_SHORT).show();
}
break;
}
}
}
}
);
}
public boolean checkUser() {
String NameSpace = "http://tempuri.org/";
String MethodName = "CheckUser";
//String url = "http://192.168.6.201/WService/WebServices.asmx";
String url = "http://192.168.6.200/WService/WebServices.asmx";
String soapAction = NameSpace + MethodName;
int result = 0;
try {
//step1 指定WebService的命名空间和调用的方法名
SoapObject request = new SoapObject(NameSpace, MethodName);
//step2 设置调用方法的参数值,这里的参数名称最好和WebService一致
request.addProperty("_s_Username", userName.getText().toString());
request.addProperty("_s_Password", password.getText().toString());
//step3 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
//设置是否调用的是dotNet下的WebService
envelope.dotNet = true;
//必须,等价于envelope.bodyOut = request;
envelope.setOutputSoapObject(request);
//step4 创建HttpTransportSE对象
HttpTransportSE ht = new HttpTransportSE(url);
//step5 调用WebService
Log.e("call", "call");
ht.call(soapAction, envelope);
Log.e("callend", "callend");
//step6 使用getResponse方法获得WebService方法的返回结果