Android xutils 登录 注册

导包:

  compile 'org.xutils:xutils:3.3.36'
    compile 'com.google.code.gson:gson:2.8.2'

权限:

联网、读、写    三个权限


类:

public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        x.Ext.init(this);
    }
}

android:name=".MyApp"

public class Constants {
    public final static String LOGIN_URL="http://120.27.23.105/user/login";
    public final static  String REG_URL="http://120.27.23.105/user/reg";
    /**
     * 正则表达式:验证手机号
     */
    public static final String REGEX_MOBILE = "^((17[0-9])|(14[0-9])|(13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";
}

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private EditText mText1;
    private EditText mText2;
    private Button mBtton01;
    private Button mBtton02;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        mText1 = (EditText) findViewById(R.id.text1);
        mText2 = (EditText) findViewById(R.id.text2);
        mBtton01 = (Button) findViewById(R.id.btton01);
        mBtton01.setOnClickListener(this);
        mBtton02 = (Button) findViewById(R.id.btton02);
        mBtton02.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            default:
                break;
            case R.id.btton01:
                Toast.makeText(this, "登录", Toast.LENGTH_SHORT).show();
                doReqeust();
                break;
            case R.id.btton02:
                Toast.makeText(this, "注册", Toast.LENGTH_SHORT).show();
                //跳转 注册页面
                break;
        }
    }

    private void doReqeust() {
        String mobile = mText1.getText().toString();
        String password = mText2.getText().toString();

        //重点代码
        if (!Pattern.matches(Constants.REGEX_MOBILE, mobile)) {
            //防止内存泄漏getApplicationContext()
            Toast.makeText(getApplicationContext(), "电话号码不合法", Toast.LENGTH_SHORT).show();
            return;
        }
        if (password.length() < 6) {
            Toast.makeText(getApplicationContext(), "密码长度不能少于6位", Toast.LENGTH_SHORT).show();
            return;
        }


        RequestParams params = new RequestParams(Constants.LOGIN_URL);
        params.addQueryStringParameter("mobile", mobile);
        params.addQueryStringParameter("password", password);
        Callback.Cancelable mCancelable = x.http().get(params, new Callback.CommonCallback() {
            /**
             * 成功
             * @param result
             */
            @Override
            public void onSuccess(String result) {
                Log.i("onSuccess", result);
                LoginBean bean = new Gson().fromJson(result, LoginBean.class);//gson数据
                if (bean.getCode().equals("0")) {
                    //登录成功  跳转页面

                    finish();
                }
            }

            @Override
            public void onError(Throwable ex, boolean isOnCallback) {
                Log.i("onError", ex.getLocalizedMessage());
            }

            @Override
            public void onCancelled(CancelledException cex) {

            }

            @Override
            public void onFinished() {
                Log.i("onFinished", "onFinished-----------");
            }
        });

    }
}




你可能感兴趣的:(Android)