android简单登陆和注册功能实现+SQLite数据库学习

发布时间:2018-07-04 17:23,

浏览次数:1027

, 标签:

android

SQLite

这里我只是建立了一个用简单的存储用户名和密码的表单

MyDBHelper.java

<>public class MyDBHelper extends SQLiteOpenHelper { public static final

String CREATE_USERDATA="create table userData(" + "id integer primary key

autoincrement," +"nametext," +"password text)"; private Context mContext; public

MyDBHelper(Context context, String name, SQLiteDatabase.CursorFactory

cursorFactory,int version){ super(context,name,cursorFactory,version); mContext=

context; }public void onCreate(SQLiteDatabase db){ db.execSQL(CREATE_USERDATA);

}public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){ //

onCreate(db); } } <>

注册:

Main2Activity.java <>public class Main2Activity extends AppCompatActivity {

private MyDBHelper dbHelper; @Override protected void onCreate(Bundle

savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main2); dbHelper = new

MyDBHelper(this,"UserStore.db",null,1); } public void logon(View view){

//SQLiteDatabase db=dbHelper.getWritableDatabase(); EditText

editText3=(EditText)findViewById(R.id.editText3); EditText

editText4=(EditText)findViewById(R.id.editText4); String newname

=editText3.getText().toString(); String

password=editText4.getText().toString(); if

(CheckIsDataAlreadyInDBorNot(newname)) {

Toast.makeText(this,"该用户名已被注册,注册失败",Toast.LENGTH_SHORT).show(); } else { if

(register(newname, password)) { Toast.makeText(this, "插入数据表成功",

Toast.LENGTH_SHORT).show(); } } } //向数据库插入数据 public boolean register(String

username,String password){ SQLiteDatabase db= dbHelper.getWritableDatabase();

/*String sql = "insert into userData(name,password) value(?,?)"; Object

obj[]={username,password}; db.execSQL(sql,obj);*/ ContentValues values=new

ContentValues(); values.put("name",username); values.put("password",password);

db.insert("userData",null,values); db.close(); //db.execSQL("insert into

userData (name,password) values (?,?)",new String[]{username,password}); return

true; } //检验用户名是否已存在 public boolean CheckIsDataAlreadyInDBorNot(String value){

SQLiteDatabase db=dbHelper.getWritableDatabase(); String Query = "Select * from

userData where name =?"; Cursor cursor = db.rawQuery(Query,new String[] { value

}); if (cursor.getCount()>0){ cursor.close(); return true; } cursor.close();

return false; } } <>

登陆:

MainActivity.java <>public class MainActivity extends AppCompatActivity {

private MyDBHelper dbHelper; private EditText username; private EditText

userpassword; @Overrideprotected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState); //

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main); dbHelper= new MyDBHelper(this

,"UserStore.db",null,1); } //点击注册按钮进入注册页面 public void logonClicked(View view){

Intent intent= new Intent(MainActivity.this,Main2Activity.class);

startActivity(intent); }//点击登录按钮 public void loginClicked(View view) { username=

(EditText)findViewById(R.id.editText2); userpassword=

(EditText)findViewById(R.id.editText); String userName=

username.getText().toString(); String passWord=

userpassword.getText().toString();if (login(userName,passWord)) {

Toast.makeText(MainActivity.this, "登陆成功(ZY,111)", Toast.LENGTH_SHORT).show(); }

else { Toast.makeText(MainActivity.this, "登陆失败", Toast.LENGTH_SHORT).show(); } }

//验证登录 public boolean login(String username,String password) { SQLiteDatabase db

= dbHelper.getWritableDatabase(); String sql = "select * from userData where

name=? and password=?"; Cursor cursor = db.rawQuery(sql, new String[]

{username, password});if (cursor.moveToFirst()) { cursor.close(); return true; }

return false; } <>

android mysql实现登录注册_android简单登陆和注册功能实现+SQLite数据库学习相关推荐

  1. 从零开始开发Android相机app(三)简单介绍图像滤镜功能

    目前章节 1.从零开始安卓端相机功能开发(一)了解用什么去开发以及流程 2.从零开始安卓端相机功能开发(二)让我们来开发一个相机 3.从零开始开发Android相机app(三)简单介绍图像滤镜功能 文 ...

  2. android mysql储存动态数据_Android数据存储五种方式总结

    本文介绍Android平台进行数据存储的五大方式,分别如下: 下面详细讲解这五种方式的特点 第一种: 使用SharedPreferences存储数据 适用范围:保存少量的数据,且这些数据的格式非常简单 ...

  3. Android之SQLite数据库学习

    (一)使用Android原生API 1. 介绍 SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎,它是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是 ...

  4. android mysql储存动态数据_Android中数据的保存

    1. 概述 在Android中有以下几种保存数据方式: 1). 使用sharedPreference去保存:只有应用程序自己可以访问 2). 保存在应用程序私有的文件夹下:只有应用程序自己可以访问 3 ...

  5. 原来Vinted注册这么简单!Vinted注册保姆级教程分享

    如果是日本的二手平台代表是煤炉,美国是PoshMark,那欧洲呼声最高的就是Vinted了,今天东哥就给大家科普一下Vinted这个平台,教大家怎么去成功注册Vinted,开启自己的Vinted跨境电 ...

  6. 自定义android进度条渐变,自定义ProgressBar简单完成颜色渐变功能进度条

    我们在使用电脑或者手机时,经常会遇到进度条,比如下图: 今天我来演示一下,如何做出简单并且漂亮的颜色渐变进度条. 首先我先新建了一个系统默认样式的进度条,代码如下: 运行后显示如下: 大家可以看出,并 ...

  7. android 手写签批_Android手写签批功能实现(适配Android6

    Android手写签批功能的实现在于三个点,mupdf,偏移量的计算,droidText0.5.jar 实际步骤: 使用muPdf将PDF加载出来 弹出透明的popwindow,popWindow使用 ...

  8. 简单java登录页面android_Android 之路 - RxJava2+Retrofit实现简单登陆

    原标题:Android 之路 - RxJava2+Retrofit实现简单登陆 前言 使用RxJava2+Retrofit实现简单登陆. 正文1. Hello world1.1 相关版本 Androi ...

  9. android qq第三方登录,Android调用第三方QQ登录代码分享

    本文为大家分享了调用QQ登录的相关代码,希望对大家有帮助,减少项目开发的时间,具体内容如下 1.去QQ开放平台注册帐号(http://open.qq.com/),为应用申请QQ的APP_ID , 并下 ...

最新文章

  1. Linux 下编译安装软件,找不到共享库 xx.so 的解决办法
  2. the serveice mysql_解决重启MySQL数据库The server quit without updating PID file问题
  3. 保持学习,从这几个公众号开始!
  4. 用Python将文件夹打包成Zip并备份至U盘
  5. LeetCode 1470. 重新排列数组
  6. Flutter mac 环境搭建 最简教程
  7. SAP MM ‘Pricing Date Control‘字段的理解
  8. WDCP + CentOS 6.x + EduSoho + Nginx
  9. MAC安装ant的办法
  10. linux openfire mysql_Linux系统安装openfire及其如何后台运行openfire
  11. c语言生成二进制文件的步骤,C语言入门教程-二进制文件
  12. 英国essay与澳洲essay写作区别以及注意事项
  13. 知己知彼 看CIO如何成功领导80后
  14. 0成本截流的三种方法,挣钱从引流开始
  15. 【檀越剑指大厂—SpringMVC】SpringMVC篇
  16. vue3 baseCss 初始化
  17. mid360 SLAM 建图实现
  18. 武汉纺织大学计算机专业考研985难吗,武汉纺织大学考研难吗
  19. 实现一个类似QQ的社交聊天工具
  20. C++ primer 一、二、三章

热门文章

  1. Cloud一分钟 | 电商月将至,腾讯云DCDB助力电商企业应对支付洪峰
  2. 短暂相逢却回味无穷,全球最具影响力的以太坊技术会议视频,你保存了吗!...
  3. ajax异步同步加载PHP代码,jquery中的ajax同步和异步详解
  4. finalize方法_final,finally,finalize三者的含义和区别
  5. python动态规划详解_python----动态规划
  6. redio中插入php脚本,Jquery操作radio的简单实例
  7. java并发编程面试
  8. Centos7 docker 安装 zookeeper
  9. Sublime Text 3 快捷键总结(详细版本)
  10. 第11篇:Flowable-BPMN部署常见问题没有对ACT_RE_PROCDEF表进行插入操作