android 登录代码,Android登录代码MVP架构详解

登录代码MVP架构的具体实现,分享给大家。

MainActivity.java

public class MainActivity extends AppCompatActivity implements View.OnClickListener, Mvp.fff {

private EditText mUsername;

private EditText mPassword;

private Button login;

private ProgressDialog mProgressDialog;

private Mvp mMvp;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

mMvp = new Mvp(this);

}

private void initView() {

mUsername = (EditText) findViewById(R.id.username);

mPassword = (EditText) findViewById(R.id.password);

login = (Button) findViewById(R.id.login);

login.setOnClickListener(this);

//动态的创建一个进度条

mProgressDialog = new ProgressDialog(this);

}

@Override

public void onClick(View view) {

switch (view.getId()){

case R.id.login:

String user = mUsername.getText().toString();

String pass = mPassword.getText().toString();

final User users = new User();

users.username=user;

users.password=pass;

Boolean empty = mMvp.isEmpty(users);

if (empty){

mProgressDialog.show();

mMvp.isLogin(users);

}else {

Toast.makeText(MainActivity.this, "输入不能为空", Toast.LENGTH_SHORT).show();

return;

}

break;

}

}

@Override

public void success() {

runOnUiThread(new Runnable() {

@Override

public void run() {

mProgressDialog.dismiss();

Toast.makeText(MainActivity.this, "欢迎回来,思密达", Toast.LENGTH_SHORT).show();

}

});

}

@Override

public void doil() {

runOnUiThread(new Runnable() {

@Override

public void run() {

mProgressDialog.dismiss();

Toast.makeText(MainActivity.this, "登录失败,账号密码有问题", Toast.LENGTH_SHORT).show();

}

});

}

@Override

protected void onDestroy() {

super.onDestroy();

mMvp=null;

}

}

UserLogin.java

public class UserLogin { //MVC Controller层

public boolean login(User users){

SystemClock.sleep(1000);

if ("frq".equals(users.username)&&"frq".equals(users.password)){

return true;

}else {

return false;

}

}

}

Mvp.java

public class Mvp { //MVP Precenter层

public Mvp(fff fff) {

mFff = fff;

}

public Boolean isEmpty(User users){

if (TextUtils.isEmpty(users.username) || TextUtils.isEmpty(users.password)){

return false;

}else {

return true;

}

}

public void isLogin(final User users){

new Thread(){

@Override

public void run() {

UserLogin login = new UserLogin();

boolean b = login.login(users);

if (b){

mFff.success();

}else {

mFff.doil();

}

}

}.start();

}

public interface fff{

void success();

void doil();

}

private fff mFff;

}

===========================================

public class Precenter {

public Precenter(fff fff) {

mFff = fff;

}

public void As(String urlString){

new AsyncTask>() {

@Override

protected ArrayList doInBackground(String... strings) {

String s = new HttpUrl().toString(strings[0]); //调用外部类

FirstBean firstBean = new Gson().fromJson(s, FirstBean.class); //gson解析

if (firstBean!=null){

return (ArrayList) firstBean.getResult();

}

return null;

}

@Override

protected void onPostExecute(ArrayList resultBeans) {

super.onPostExecute(resultBeans);

if (resultBeans!=null){

mFff.success(resultBeans);

}else {

mFff.bai();

}

}

}.execute(urlString);

}

public interface fff{

void success(ArrayList resultBeans);

void bai();

};

private fff mFff;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值