Mvp实现登陆注册
来源:互联网 发布:淘宝雷蛇专卖店 编辑:程序博客网 时间:2024/06/03 05:07
Bean层
package com.example.day1mvp.bean;public class UserInfo { private String name; private String pass; public UserInfo(String name, String pass) { this.name = name; this.pass = pass; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; }}
model层
package com.example.day1mvp.model;import com.example.day1mvp.bean.UserInfo;public interface IUserLoginModel { public void login(String name, String pass); public void saveUserInfo(String name, String pass); public UserInfo getUserInfo();}
package com.example.day1mvp.model;import android.content.Context;import android.content.SharedPreferences;import com.example.day1mvp.bean.UserInfo;import com.example.day1mvp.net.NetUtils;public class UserLoginModel implements IUserLoginModel{ Context context; SharedPreferences sp; SharedPreferences.Editor editor; public UserLoginModel(Context context) { this.context = context; sp = context.getSharedPreferences("user", Context.MODE_PRIVATE); editor = sp.edit(); } @Override public void login(String name, String pass) { NetUtils.getNetData(); } @Override public void saveUserInfo(String name, String pass) { editor.putString("name", name); editor.putString("pass", pass); editor.commit(); } @Override public UserInfo getUserInfo() { String name = sp.getString("name",""); String pass = sp.getString("pass",""); UserInfo user = new UserInfo(name, pass); return user; }}
presenter层
package com.example.day1mvp.presenter;import android.content.Context;import android.content.SharedPreferences;import android.os.AsyncTask;import android.os.SystemClock;import android.widget.Toast;import com.example.day1mvp.bean.UserInfo;import com.example.day1mvp.model.IUserLoginModel;import com.example.day1mvp.model.UserLoginModel;import com.example.day1mvp.view.IUserLoginView;public class LoginPresenter { IUserLoginModel model; IUserLoginView view; Context context; SharedPreferences sp; public LoginPresenter(IUserLoginView view, Context context) { this.view = view; this.context = context; model = new UserLoginModel(context); } public void showUserInfo(){ UserInfo info = model.getUserInfo(); view.setTextName(info.getName()); view.setTextPass(info.getPass()); } public void savaUserInfo(){ final String name = view.getTextName(); final String pass = view.getTextPass(); // model.saveUserInfo(name, pass); } public void login(){ final String name = view.getTextName(); final String pass = view.getTextPass(); if(!name.equals("123")){ Toast.makeText(context, "鐢ㄦ埛鍚嶉敊璇?, Toast.LENGTH_SHORT).show(); return; } new AsyncTask<String, String ,String >(){ @Override protected String doInBackground(String... params) { model.login(name, pass); return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); model.saveUserInfo(name, pass); Toast.makeText(context, "鐧诲綍鎴愬姛", Toast.LENGTH_SHORT).show(); } }.execute(); }}
view层
package com.example.day1mvp.view;public interface IUserLoginView { public void setTextName(String name); public void setTextPass(String pass); public String getTextName(); public String getTextPass();}
net工具
package com.example.day1mvp.net;import android.os.SystemClock;public class NetUtils { public static void getNetData(){ SystemClock.sleep(2000); }}
Mainactivity代码
package com.example.day1mvp;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import com.example.day1mvp.presenter.LoginPresenter;import com.example.day1mvp.view.IUserLoginView;public class MainActivity extends AppCompatActivity implements IUserLoginView{ Button btn; EditText et_name, et_pass; LoginPresenter presenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button) findViewById(R.id.btn); et_name = (EditText) findViewById(R.id.et_name); et_pass = (EditText) findViewById(R.id.et_pass);// IUserLoginView view = MainActivity.this; presenter = new LoginPresenter(this, this); presenter.showUserInfo(); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { presenter.login(); } }); } @Override public void setTextName(String name) { et_name.setText(name); } @Override public void setTextPass(String pass) { et_pass.setText(pass); } @Override public String getTextName() { return et_name.getText().toString(); } @Override public String getTextPass() { return et_pass.getText().toString(); }}
布局文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.day1mvp.MainActivity"> <EditText android:id="@+id/et_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="输入用户名"/> <EditText android:id="@+id/et_pass" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="输入密码" /> <Button android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="登陆" /></LinearLayout>
阅读全文
0 0
- Mvp实现登陆注册
- MVP实现登陆注册
- MVP实现登陆注册
- MVP登陆注册
- MVP 实现登录注册
- Mvp实现登录注册
- MVP实现登录注册
- MVP+登陆注册RecyclerView显示数据
- MVP模式实现接口登陆
- 登陆注册如何实现
- okhttp3实现注册登陆
- 集合实现注册登陆
- 登陆注册实现流程
- MVP实现登录注册功能
- Andriod——MVP网络获取登陆注册
- android使用mvp模式实现登陆demo
- MVP的简单实现(本地登陆)
- 实现ios的登陆注册
- 表格渲染(删除查询)
- 注册界面模拟,判断邮箱是否符合格式,密码是都符合格式
- 掷骰子
- 51Nod 1444 破坏道路(最短路+枚举)
- 【LeetCode】Binary Tree Preorder Traversal 二叉树的前序遍历(3种方法)- Easy+
- Mvp实现登陆注册
- RecyclerView+PopupWindow实现下拉列表选择效果
- RecyclerView1
- xlistview
- java学习第29天,getTime();setTime();SimpleDateFormat();
- 登录注册的请求
- [笔记] Introduction to Shallow Language Processing
- 人工智能预测之七宗罪
- uva 10003 一根木棍上有n个切割点 每次选一个点切割,求总切割费用最小 区间DP