友链:汪菜菜

友链:隔壁老王

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;
                }
            });
        }
   }
}

 

posted @ 2022-04-06 14:39  長安憶ღ  阅读(256)  评论(0)    收藏  举报