您的位置:首页 > 数据库

MVP注册登录模块,结合数据库查询和添加数据

2017-11-11 17:45 465 查看
数据库的帮助类

public class MyOpenHelper extends SQLiteOpenHelper{
public MyOpenHelper(Context context) {
super(context, "day11.db", null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
//创建数据库
db.execSQL("create table wht(username varchar(20),password varchar(20))");
}

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

}
}

对数据库操作的类,,相当于MVP中的model
public class MyModel {

//注册 访问数据库
public void zhuce(Context context, String phone, String password, ZhuceModelCallBack zhuceModelCallBack) {

//注册成功的回调
// zhuceModelCallBack.zhuce_success();
MyOpenHelper openHelper = new MyOpenHelper(context);
SQLiteDatabase database = openHelper.getReadableDatabase();
database.execSQL("insert into wht(username,password) values(?,?)",new String[]{phone,password});
database.close();
//注册成功的回调
zhuceModelCallBack.zhuce_success();
}

//登录 访问数据库
public void denglu(Context context, String phone, String password, DengluModelCallBack dengluModelCallBack) {
MyOpenHelper openHelper = new MyOpenHelper(context);
SQLiteDatabase database = openHelper.getWritableDatabase();
Cursor cursor = database.rawQuery("select * from wht where username = ? and password = ?", new String[]{phone, password});
if(cursor.moveToNext()){

//如果找到了 就 成功的回调
dengluModelCallBack.denglu_success();
}else{
//没找到就失败的回调
dengluModelCallBack.denglu_fail();
}
}
}
presenter层里面 调用model中的注册 和 登录的方法 


public class MyPresenter {

FragmentActivity activity;
ZhuceViewCallBack zhuceViewCallback;
LoginViewCallBack loginViewCallBack;
public MyPresenter(FragmentActivity activity,ZhuceViewCallBack zhuceViewCallback,LoginViewCallBack loginViewCallBack){
this.activity = activity;
this.zhuceViewCallback = zhuceViewCallback;
this.loginViewCallBack = loginViewCallBack;

}
//new出model对象
MyModel myModel = new MyModel();

public interface ZhuceViewCallBack {
//注册判断非空
public void zhu_phone_empty();
public void zhu_pass_empty();
public void zhu_success();
public void zhu_fail();
}

public interface LoginViewCallBack {
//登陆判断非空
public void deng_phone_empty();
public void deng_pass_empty();
public void deng_success();
public void deng_fail();
}

//p层里面的逻辑判断 非空
public void Zhuce_Panduan(String phone, String password) {
if(TextUtils.isEmpty(phone)){
//接口回调

zhuceViewCallback.zhu_phone_empty();
return;
}
if(TextUtils.isEmpty(password)){
//接口回调
zhuceViewCallback.zhu_pass_empty();
return;
}

myModel.zhuce(activity,phone,password, new ZhuceModelCallBack() {
@Override
public void zhuce_success() {
zhuceViewCallback.zhu_success();
}
});

}

//p层里面的逻辑判断 非空
public void Denglu_Panduan(String phone, String password) {
if(TextUtils.isEmpty(phone)){
//接口回调
loginViewCallBack.deng_phone_empty();
return;
}
if(TextUtils.isEmpty(password)){
//接口回调
loginViewCallBack.deng_pass_empty();
return;
}

myModel.denglu(activity,phone,password, new DengluModelCallBack() {
@Override
public void denglu_success() {
loginViewCallBack.deng_success();
}

@Override
public void denglu_fail() {
loginViewCallBack.deng_fail();
}
});
}

}
ZhuceFragment中 new出presenter对象,参数有当前activity,两个接口
public class ZhuceFragment extends Fragment {
private EditText zhu_phone;
private EditText zhu_password;
private Button zhuce;
private MyPresenter myPresenter;
//注册页面

@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//填充布局
View view = inflater.inflate(R.layout.fragment_zhuce,container,false);

zhu_phone = (EditText) view.findViewById(R.id.zhu_phone);
zhu_password = (EditText) view.findViewById(R.id.zhu_password);
zhuce = (Button) view.findViewById(R.id.zhuce);
return view;
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//new出presenter对象
myPresenter = new MyPresenter(getActivity(), new MyPresenter.ZhuceViewCallBack() {
@Override
public void zhu_phone_empty() {
Toast.makeText(getActivity(), "注册手机号不能为空", Toast.LENGTH_SHORT).show();
}

@Override
public void zhu_pass_empty() {
Toast.makeText(getActivity(),"注册密码不能为空",Toast.LENGTH_SHORT).show();
}

@Override
public void zhu_success() {
Toast.makeText(getActivity(),"注册成功!请前往登录页面!",Toast.LENGTH_SHORT).show();
}

@Override
public void zhu_fail() {
Toast.makeText(getActivity(),"不存在!",Toast.LENGTH_SHORT).show();
}
}, new MyPresenter.LoginViewCallBack() {
@Override
public void deng_phone_empty() {

}

@Override
public void deng_pass_empty() {

}

@Override
public void deng_success() {

}

@Override
public void deng_fail() {

}
});

//点击注册按钮 调用p层去逻辑判断非空
zhuce.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//p层逻辑判断
myPresenter.Zhuce_Panduan(zhu_phone.getText().toString(),zhu_password.getText().toString());
}
});
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐