设为首页 加入收藏

TOP

android简单登陆和注册功能实现+SQLite数据库学习(一)
2017-10-12 18:11:36 】 浏览:3584
Tags: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);
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇[android] 手机卫士手机实现短信.. 下一篇带你实现开发者头条(一) 启动页实..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目