android原生开发项目登录页面代码
LoginActivity
package com.example.wms;
import android.content.Intent;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager2.widget.ViewPager2;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
public class LoginActivity extends AppCompatActivity {
private String str_username;
private String str_password;
private EditText mEditText_username;
private EditText mEditText_password;
private Button mButton_login;
@Override
protected void onCreate(Bundle savedInstanceState) {
//兼容性
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
//继承后自动创建对应的布局界面
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
//退出
Button btn_exit = findViewById(R.id.btn_exit);
btn_exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
//设置为全局变量绑定控件
mEditText_username = findViewById(R.id.edit_username);
mEditText_password = findViewById(R.id.edit_password);
mButton_login = findViewById(R.id.btn_login);
//登录按钮点击事件
mButton_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//获取输入框中的值 返回该对象的字符串表示
str_username=mEditText_username.getText().toString();
str_password=mEditText_password.getText().toString();
//调用login方法并传入账户和密码
/*login(str_username,str_password);*/
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
}
//自定义登录方法 里面需要传入几个需要的参数
public String login(String login_name, String password) {
//WebServices地址
String WebServicesURL="http://192.168.2.113/CatlServer.asmx";
//命名空间
String NameSpace="http://tempuri.org/";
//接口方法名
String MethodName="Login";
//SOAP协议定义消息请求的地址
String soapAction="http://tempuri.org/Login";
//实例化SoapObject 对象
SoapObject request = new SoapObject(NameSpace, MethodName);
//调用WebService接口传入两个参数
request.addProperty("loginName",login_name);
request.addProperty("password",password);
//生成调用WebService方法的SOAP请求信息,并指定SOAP的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
//设置bodyOut,发送请求
envelope.bodyOut=request;
// 设置是否调用的是dotNet开发的WebService,后续注释掉或许能解决ksoap2参数传输不了或者失败
envelope.dotNet = true;
//网络请求
HttpTransportSE httpTransportSE = new HttpTransportSE(WebServicesURL);
try {
httpTransportSE.call(soapAction,envelope);//这里需要传入一下两个参数
}catch (Exception e){
e.printStackTrace();
}
//获取返回的数据
SoapObject object= (SoapObject) envelope.bodyIn;
//获取返回的结果,后续根据返回值做判断
String result=object.getProperty(0).toString();
//逻辑判断 状态码为1则成功跳转到主界面
if(mEditText_username.length()<1){
Toast.makeText(LoginActivity.this,"请输入用户名",Toast.LENGTH_LONG).show();
}else if (mEditText_password.length()<1){
Toast.makeText(LoginActivity.this,"请输入密码",Toast.LENGTH_LONG).show();
}else if (result.equals("0")){
Log.e("tag","密码错误");
Toast.makeText(LoginActivity.this,"密码错误",Toast.LENGTH_LONG).show();
}else if (result.equals("1")){
Log.e("tag", "成功");
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
Toast.makeText(LoginActivity.this,"登录成功,欢迎您\t"+str_username,Toast.LENGTH_LONG).show();
startActivity(intent);
}else if (result.equals("2")){
Log.e("tag", "用户名错误");
Toast.makeText(LoginActivity.this,"用户名错误",Toast.LENGTH_LONG).show();
}else if (result.equals("-1")){
Log.e("tag","未找到用户信息");
Toast.makeText(LoginActivity.this,"未找到用户信息",Toast.LENGTH_LONG).show();
}
return result;
}
});
}
}
}