android简单登陆和注册功能实现+SQLite数据库学习
最近初学android,做了实验室老师给的基本任务,就是简单的登陆和注册,并能通过SQLite实现登陆,SQlLite是嵌入在安卓设备中的
好了下面是主要代码:
数据库的建立:
这里我只是建立了一个用简单的存储用户名和密码的表单
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;
@Override
protected 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简单登陆和注册功能实现+SQLite数据库学习的更多相关文章
- 编写简单登陆和注册功能的demo时遇到的问题
一.注册功能中添加数据不成功 给数据库添加EditText中的内容后,数据库中找不到添加后的数据,并且存在字符串为空的数据 解决方法:EditText registerAccount = (EditT ...
- Android Studio 通过一个登录功能介绍SQLite数据库的使用
前言: SQLite简介:是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经在 ...
- php实现微信扫码自动登陆与注册功能
本文实例讲述了php实现微信扫码自动登陆与注册功能.分享给大家供大家参考,具体如下: 微信开发已经是现在程序员必须要掌握的一项基本的技术了,其实做过微信开发的都知道微信接口非常的强大做起来也非常的简单 ...
- JavaWeb 实现简单登录、注册功能
1.首先创建一个简单的动态Javaweb项目 2.然后手动建立文件目录: 项目创建好之后,在src下建几个包: controller:控制器,负责转发请求,对请求进行处理,主要存放servlet: d ...
- Android 简单登陆 涉及 Button CheckBox TextView EditText简单应用
GitHub地址:https://github.com/1165863642/LoginDemo 直接贴代码<?xml version="1.0" encoding=&quo ...
- <Android基础> (六) 数据存储 Part 3 SQLite数据库存储
6.4 SQLite数据库存储 SQLite是一种轻量级的关系型数据库,运算速度快,占用资源少. 6.4.1 创建数据库 Android为了管理数据库,专门提供了SQLiteOpenHelper帮助类 ...
- 21.Android之SQLite数据库学习
Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大.SQLite具备下列特点: 1.轻量级 使用 SQLite 只需要带一个动 ...
- Android SQLite 数据库学习
SQLite 数据库简介 SQLite 是一个轻量级数据库,它是D. Richard Hipp建立的公有领域项目,在2000年发布了第一个版本.它的设计目标是嵌入式的,而且占用资源非常低,在内存中只需 ...
- Android数据存储之SQLite 数据库学习
Android提供了五种存取数据的方式 (1)SharedPreference,存放较少的五种类型的数据,只能在同一个包内使用,生成XML的格式存放在设备中 (2) SQLite数据库,存放各种数据, ...
随机推荐
- 一些简单的PGSQL 操作
1.jsonb字段的查询 enterprisearr 字段类型为jsonb,存储格式为["物流服务商","销售服务商","供应商"]. SE ...
- 【好文要转】HTTP图解(大牛必经之路)
http://www.cnblogs.com/aylin/p/6221436.html
- js 让浏览器全屏模式的方法launchFullscreen
浏览器全屏模式的启动函数requestFullscreen仍然需要附带各浏览器的js方言前缀 // 判断各种浏览器,找到正确的方法 function launchFullscreen(element) ...
- instruments usage error specified target process is invalid
遇到这个问题的很多,但都没说具体的解决办法. 如果你的包名 路径之类的都正确,还是报这个错误的话,请重启手机.
- python splinter
from splinter.browser import Browser with Browser() as b: for url,name in web: b.visit(url) b.fill(' ...
- C++中下标操作注意事项
C++中,下标操作不添加元素,对于任何使用下标操作的情况,如string类型.vector类型等等,必须是已存在的元素才能用下标操作符进行索引.如果类型为空,通过 下标操作进行赋值时,不会添加任何元素 ...
- .Net Framework运行机制
首先谈谈.net framework的组成 主要是有两大部分组成:CLR(公共语言运行库)和FCL(Framework类库) CLR的主要功能:和Java虚拟机一样也是一个运行时环境,是一个可由多种编 ...
- Oracle 安装及其遇到的问题
Oracle安装过程其实有很多的文档可以参考. 以oracle11g release版本为例: 从官网下载下来的zip ,包含两个部分,win32_11gR2_database_1of2.zip 以及 ...
- HTML 判断手机的类型(苹果手机安卓手机)
function isJudege_PlatForm() { var version = navigator.appVersion; var platName = navigator.userAgen ...
- flex柱状图
柱状图的展现是通过flex自带的控件实现 控件解析:<mx:ColumnChart id = "columns" dataProvider = "{dataSour ...