80,359
社区成员
发帖
与我相关
我的任务
分享
package com.example.click;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.view.View.OnClickListener;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
private EditText UserNameEditText;
private EditText PassEditText;
private Button queryButton;
private TextView TextViewResult;
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
UserNameEditText = (EditText) rootView.findViewById(R.id.name);
PassEditText = (EditText) rootView.findViewById(R.id.pass);
queryButton = (Button) rootView.findViewById(R.id.button);
TextViewResult = (TextView) rootView.findViewById(R.id.result_text);
queryButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
String UserName = UserNameEditText.getText().toString().trim();
String Pwd = PassEditText.getText().toString().trim();
TextViewResult.setText("用户名" + UserName + "," + "密码" + Pwd);
Thread th= new Thread(new Runnable() {
@Override
public void run() {
getRemoteInfo(UserName,Pwd);
}
});
th.start();
/*Intent intent = new Intent(getActivity(), OtherActivity.class); //this 即当前 Activity
startActivity(intent);
*/
}
});
return rootView;
}
}
/**
* 手机号段归属地查询
*
* @param phoneSec 手机号段
*/
public void getRemoteInfo(String username,String password) {
// 命名空间
String nameSpace = "http://tempuri.org/";
// 调用的方法名称
String methodName = "UserLogin";
// EndPoint
String endPoint = "http://10.0.2.2/webservice1.asmx";
// SOAP Action
String soapAction = "http://tempuri.org/UserLogin";
// 指定WebService的命名空间和调用的方法名
SoapObject rpc = new SoapObject(nameSpace, methodName);
// 设置需调用WebService接口需要传入的两个参数mobileCode、userId
rpc.addProperty("username", username);
rpc.addProperty("password", password);
// 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = rpc;
// 设置是否调用的是dotNet开发的WebService
envelope.dotNet = true;
// 等价于envelope.bodyOut = rpc;
envelope.setOutputSoapObject(rpc);
HttpTransportSE transport = new HttpTransportSE(endPoint);
try {
// 调用WebService
transport.call(soapAction, envelope);
} catch (Exception e) {
e.printStackTrace();
}
// 获取返回的数据
SoapObject object = (SoapObject) envelope.bodyIn;
// 获取返回的结果
String result = object.getProperty(0).toString();
Message msg = Message.obtain();
msg.obj = result;
mHandler.sendMessage(msg);
// 将WebService返回的结果显示在TextView中
// resultView.setText(result);
}
Handler mHandler = new Handler(){
public void handleMessage(Message msg) {
TextViewResult.setText(msg.obj.toString());
};
};
}
String UserName = UserNameEditText.getText().toString().trim();
String Pwd = PassEditText.getText().toString().trim();
TextViewResult.setText("用户名" + UserName + "," + "密码" + Pwd);
Thread th= new Thread(new Runnable() {
@Override
public void run() {
getRemoteInfo(UserName,Pwd);
}
});
th.start();
你确定这段能编译通过?