MVP登录

在这里插入图片描述

权限

<uses-permission android:name="android.permission.INTERNET" />

**

bean

**
User类

public class User {
String msg;
String code;
public User(String msg, String code) {
    this.msg = msg;
    this.code = code;
}

public String getMsg() {
    return msg;
}

public void setMsg(String msg) {
    this.msg = msg;
}

public String getCode() {
    return code;
}

public void setCode(String code) {
    this.code = code;
}

@Override
public String toString() {
    return "  "+msg + "   " + code ;
}
}

UserBean

public class UserBean {
String molide;
String pwd;

public UserBean() {}
public UserBean(String molide, String pwd) {
    this.molide = molide;
    this.pwd = pwd;
}

public String getMolide() {
    return molide;
}

public void setMolide(String molide) {
    this.molide = molide;
}

public String getPwd() {
    return pwd;
}

public void setPwd(String pwd) {
    this.pwd = pwd;
}

@Override
public String toString() {
    return  "手机号:" + molide+"密码:" + pwd ;
}
}

**

call

**

DataCall

public interface DataCall {
void callback(User data);
}

**

activity

**
MainActivity

public class MainActivity extends AppCompatActivity implements View.OnClickListener, DataCall {
private static final String TAG = "MainActivity+++";
/**
 * 请输入手机号....
 */
private EditText edit_molide;
/**
 * 请输入密码....
 */
private EditText edit_pwd;
/**
 * 登录
 */
private Button btn_login;
LoginPresenter loginPresenter=new LoginPresenter(this);
private Helper helper;
private SQLiteDatabase database;
int i=0;
private String molide;
private String pwd;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();
    helper = new Helper(MainActivity.this);
    database = helper.getWritableDatabase();
    selectData(molide, pwd);
    // Toast.makeText(MainActivity.this,"首次进行登录页面",Toast.LENGTH_SHORT).show();
}

private void initView() {
    edit_molide = findViewById(R.id.edit_molide);
    edit_pwd = findViewById(R.id.edit_pwd);
    btn_login = findViewById(R.id.btn_login);
    btn_login.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.btn_login:
            molide = edit_molide.getText().toString().trim();
            pwd = edit_pwd.getText().toString().trim();
            if(molide.isEmpty()|| pwd.isEmpty()){
                Toast.makeText(MainActivity.this,"请输入手机号和密码",Toast.LENGTH_SHORT).show();
                return;
            }else{
                loginPresenter.login(molide, pwd);
            }
            break;
    }
}

private void selectData(String molide, String pwd) {
    Cursor cursor = database.query("mvp", null, null, null, null, null, null);
    if(cursor.moveToNext()){
        Toast.makeText(getBaseContext(),"成功了!!",Toast.LENGTH_SHORT).show();
        Intent intent=new Intent(MainActivity.this,ScendActivity.class);
        startActivity(intent);
        finish();
    }
}

@Override
public void callback(User data) {
    ContentValues values=new ContentValues();
    values.put("molide",molide);
    values.put("pwd",pwd);
    long insert = database.insert("mvp", null, values);
    Log.d(TAG, "点击添加数据的结果"+insert);
    Toast.makeText(getBaseContext(),data.getMsg(),Toast.LENGTH_SHORT).show();
    Intent intent=new Intent(MainActivity.this,ScendActivity.class);
    startActivity(intent);
    finish();
}
}

ScendActivity

public class ScendActivity extends AppCompatActivity implements View.OnClickListener {

/**
 * 退出
 */
private Button btn_exit;
private Helper helper;
private SQLiteDatabase database;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_scend);
    initView();
    helper = new Helper(ScendActivity.this);
    database = helper.getWritableDatabase();
}

private void initView() {
    btn_exit = findViewById(R.id.btn_exit);
    btn_exit.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.btn_exit:
            database.delete("mvp",null,null);
            finish();
            break;
    }
}
}

**

helper

**

Helper

public class Helper extends SQLiteOpenHelper {

private final SQLiteDatabase database;

public Helper(Context context) {
    super(context, "Mvp.db", null, 1);
    database = getWritableDatabase();
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table mvp(id integer primary key autoincrement,molide varchar(100),pwd varchar(100))");
}

//查询数据
public List<UserBean> chaData(){
    List<UserBean> list=new ArrayList<>();
    Cursor cursor = database.query("mvp", null, null, null, null, null, null);
    while (cursor.moveToLast()){
        String molide = cursor.getString(cursor.getColumnIndex("molide"));
        String pwd = cursor.getString(cursor.getColumnIndex("pwd"));
        UserBean userBean=new UserBean(molide,pwd);
        list.add(userBean);
    }
    return list;
}
//添加数据
public void addData(String molide,String pwd){
    ContentValues values=new ContentValues();
    values.put("molide",molide);
    values.put("pwd",pwd);
    database.insert("mvp",null,values);
}
//删除数据
public void delData(){
    database.delete("mvp",null,null);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}
}

**

http

**

Utils

public class Utils {
public static String get(String urlData){
    try {
        URL url = new URL(urlData);
        HttpURLConnection con = (HttpURLConnection) url.openConnection();
        con.setConnectTimeout(5000);
        InputStream inputStream = con.getInputStream();
        //转字符串
        InputStreamReader input = new InputStreamReader(inputStream);
        BufferedReader reader = new BufferedReader(input);
        StringBuilder builder = new StringBuilder();
        String str="";
        while ((str=reader.readLine())!=null){
            builder.append(str);
        }
        reader.close();
        return builder.toString();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return "未获取到数据";
}
}

**

model

**

LoginModel

public class LoginModel {
private static final String TAG = "LoginModel++++";
public static User login(String mobile,String pwd){
    Log.d(TAG, "login: +++"+mobile+pwd);
    //13509792162    000000
    String loginData = Utils.get("http://www.zhaoapi.cn/user/login?mobile=" + mobile + "" +
            "&password=" + pwd);
    Gson gson=new Gson();
    User user = gson.fromJson(loginData, User.class);
    return user;
}
}

**

presenter

**

LoginPresenter

public class LoginPresenter {
private static final String TAG = "LoginPresenter++";
private DataCall call;

public LoginPresenter(DataCall dataCall) {
    call= dataCall;
}

private Handler handler=new Handler(){
    @Override
    public void handleMessage(Message msg) {
        User user= (User) msg.obj;
        call.callback(user);
    }
};


public void login(final String molide, final String pwd) {
    new Thread(new Runnable() {
        @Override
        public void run() {
            User user = LoginModel.login(molide, pwd);
            Log.i(TAG, "run: ______"+user);
            Message message = handler.obtainMessage();
            message.obj=user;
            handler.sendMessage(message);

        }
    }).start();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值