Android登录注册功能 数据库SQLite验证

Android登录注册功能 数据库SQLite验证,第1张

概述本文实例为大家分享了Android登录注册功能的具体代码,供大家参考,具体内容如下

本文实例为大家分享了AndroID登录注册功能的具体代码,供大家参考,具体内容如下

展示效果

代码区

MainActivity(登录方法)

public class MainActivity extends AppCompatActivity { @BindVIEw(R.ID.editText) EditText editText; @BindVIEw(R.ID.editText2) EditText editText2; @BindVIEw(R.ID.button) button button; @BindVIEw(R.ID.button2) button button2; @BindVIEw(R.ID.activity_main) relativeLayout activityMain; public static final String REGEX_PASSWORD = "^[a-zA-Z0-9]{6,16}$";//验证密码是否有特殊符号或长度不满6位 private sqliteDatabase w; private sqliteDatabase r; private MysqList mys; private List<St> mdata; private String name; private String pass; @OverrIDe protected voID onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentVIEw(R.layout.activity_main);  ButterKnife.bind(this);  mys = new MysqList(this,"zhu_c",null,1);//使用halper创建数据库  r=mys.getReadableDatabase();  w=mys.getWritableDatabase();  mdata=new ArrayList<St>();  Cursor query = r.rawquery("select * from user_mo",null);  while(query.movetoNext()){   int index1 = query.getColumnIndex("name");   int index2 = query.getColumnIndex("pass");   name = query.getString(index1);   pass = query.getString(index2);   mdata.add(new St(0,name,pass));  } } @OnClick({R.ID.button,R.ID.button2}) public voID onVIEwClicked(VIEw vIEw) {  switch (vIEw.getID()) {   case R.ID.button:    String name1 = editText.getText().toString().trim();    String pass1 = editText2.getText().toString().trim();    if (name1.equals(name)&&pass1.equals(pass)){     Toast.makeText(this,"登录成功",Toast.LENGTH_SHORT).show();     Intent intent = new Intent(this,UserActivity.class);     startActivity(intent);    }else{     Toast.makeText(this,"账号与密码输入不正确",Toast.LENGTH_SHORT).show();    }    break;   case R.ID.button2:    Intent intent1 = new Intent(this,ZhuActivity.class);    startActivity(intent1);    break;  } }}

MysqList(创建数据库)

public class MysqList extends sqliteOpenHelper { private String sql="create table if not exists user_mo(_ID Integer primary key autoincrement,name varchar(30) not null,pass varchar(50) not null)"; public MysqList(Context context,String name,sqliteDatabase.CursorFactory factory,int version) {  super(context,factory,version); } @OverrIDe public voID onCreate(sqliteDatabase db) {  db.execsql(sql); } @OverrIDe public voID onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) {  // Todo auto-generated method stub }}

ZhuActivity(注册方法)

public class ZhuActivity extends AppCompatActivity { @BindVIEw(R.ID.editText3) EditText editText3; @BindVIEw(R.ID.editText4) EditText editText4; @BindVIEw(R.ID.button3) button button3; @BindVIEw(R.ID.activity_zhu) relativeLayout activityZhu; public static final String REGEX_PASSWORD = "^[a-zA-Z0-9]{6,16}$";//验证密码是否有特殊符号或长度不满6位 private sqliteDatabase sdb; private MysqList mys; @OverrIDe protected voID onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentVIEw(R.layout.activity_zhu);  ButterKnife.bind(this);  mys = new MysqList(this,1);//使用halper创建数据库  sdb=mys.getWritableDatabase(); } @OnClick(R.ID.button3) public voID onVIEwClicked() {  //获得账号密码  String name = editText3.getText().toString().trim();  String pass = editText4.getText().toString().trim();  if (name == null || "".equals(name) || pass == null || "".equals(pass)) {   Toast.makeText(this,"账号与密码不能为空",Toast.LENGTH_SHORT).show();  } else {   String number = editText3.getText().toString();   boolean judge = isMobile(number);   String pa = editText4.getText().toString();   boolean judge1 = isPassword(pa);   if (judge == true && judge1 == true) {    Toast.makeText(this,"注册成功",Toast.LENGTH_SHORT).show();    sdb.execsql("insert into user_mo(name,pass)values('"+name+"','"+pass+"')");    Intent intent = new Intent(this,MainActivity.class);    startActivity(intent);//启动跳转   } else {    Toast.makeText(this,"手机号码不法与密码不能有特殊符号",Toast.LENGTH_SHORT).show();   }  } } /**  * 校验密码  * @param password  * @return 校验通过返回true,否则返回false  */ public static boolean isPassword(String password) {  return Pattern.matches(REGEX_PASSWORD,password); } /**  * 验证手机格式  */ public static boolean isMobile(String number) { /* 移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188 联通:130、131、132、152、155、156、185、186 电信:133、153、180、189、(1349卫通) 总结起来就是第一位必定为1,第二位必定为3或5或8,其他位置的可以为0-9 */  String num = "[1][358]\d{9}";//"[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个,"\d{9}"代表后面是可以是0~9的数字,有9位。  if (TextUtils.isEmpty(number)) {   return false;  } else {   //matches():字符串是否在给定的正则表达式匹配   return number.matches(num);  } }}

St(工具类)

public class St { private int ID; private String name; private String pass; public St(int ID,String pass) {  this.ID = ID;  this.name = name;  this.pass = pass; } public int getID() {  return ID; } public voID setID(int ID) {  this.ID = ID; } 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; } @OverrIDe public String toString() {  return "St{" +    "ID=" + ID +    ",name='" + name + '\'' +    ",pass='" + pass + '\'' +    '}'; }}

activity_zhu(注册布局)

<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:tools="http://schemas.androID.com/tools" androID:ID="@+ID/activity_zhu" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:paddingBottom="@dimen/activity_vertical_margin" androID:paddingleft="@dimen/activity_horizontal_margin" androID:paddingRight="@dimen/activity_horizontal_margin" androID:paddingtop="@dimen/activity_vertical_margin" tools:context="sizu.wxrkaoqianmomi.ZhuActivity"> <EditText  androID:layout_wIDth="wrap_content"  androID:layout_height="wrap_content"  androID:inputType="textPersonname"  androID:hint="输入手机号"  androID:gravity="center"  androID:ems="10"  androID:layout_alignParenttop="true"  androID:layout_centerHorizontal="true"  androID:layout_margintop="57dp"  androID:ID="@+ID/editText3" /> <EditText  androID:layout_wIDth="wrap_content"  androID:layout_height="wrap_content"  androID:inputType="textPersonname"  androID:hint="输入密码"  androID:gravity="center"  androID:ems="10"  androID:layout_below="@+ID/editText3"  androID:layout_alignleft="@+ID/editText3"  androID:layout_alignStart="@+ID/editText3"  androID:layout_margintop="44dp"  androID:ID="@+ID/editText4" /> <button  androID:text="注册"  androID:layout_wIDth="wrap_content"  androID:layout_height="wrap_content"  androID:layout_below="@+ID/editText4"  androID:layout_centerHorizontal="true"  androID:layout_margintop="88dp"  androID:ID="@+ID/button3" /></relativeLayout>

activity_main(登录布局)

<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:tools="http://schemas.androID.com/tools" androID:ID="@+ID/activity_main" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:paddingBottom="@dimen/activity_vertical_margin" androID:paddingleft="@dimen/activity_horizontal_margin" androID:paddingRight="@dimen/activity_horizontal_margin" androID:paddingtop="@dimen/activity_vertical_margin" tools:context="sizu.wxrkaoqianmomi.MainActivity"> <EditText  androID:layout_wIDth="wrap_content"  androID:layout_height="wrap_content"  androID:inputType="textPersonname"  androID:hint="输入手机号"  androID:gravity="center"  androID:ems="10"  androID:layout_alignParenttop="true"  androID:layout_centerHorizontal="true"  androID:layout_margintop="33dp"  androID:ID="@+ID/editText" /> <EditText  androID:layout_wIDth="wrap_content"  androID:layout_height="wrap_content"  androID:inputType="textPassword"  androID:ems="10"  androID:hint="输入密码"  androID:gravity="center"  androID:layout_margintop="24dp"  androID:ID="@+ID/editText2"  androID:layout_below="@+ID/editText"  androID:layout_alignleft="@+ID/editText"  androID:layout_alignStart="@+ID/editText" /> <button  androID:text="登录"  androID:layout_wIDth="wrap_content"  androID:layout_height="wrap_content"  androID:layout_below="@+ID/editText2"  androID:layout_alignleft="@+ID/editText2"  androID:layout_alignStart="@+ID/editText2"  androID:layout_margintop="85dp"  androID:ID="@+ID/button" /> <button  androID:text="注册"  androID:layout_wIDth="wrap_content"  androID:layout_height="wrap_content"  androID:layout_aligntop="@+ID/button"  androID:layout_alignRight="@+ID/editText2"  androID:layout_alignEnd="@+ID/editText2"  androID:ID="@+ID/button2" /></relativeLayout>

谢谢观看,小编祝大家生活愉快!

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

总结

以上是内存溢出为你收集整理的Android登录注册功能 数据库SQLite验证全部内容,希望文章能够帮你解决Android登录注册功能 数据库SQLite验证所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1144014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存