本文实例为大家分享了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验证所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)