sqlite数据库实例
登录首页添加保存密码复选框,再次打开时显示最近一次登录ID与psw
1.user.java //用户类
package com.example.cx;
public class User {
private String name;
private String psw;
/*
* 构造方法
*/
public User(){
super();
}
public User(String name,String psw){
this.name=name;
this.psw=psw;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPsw() {
return psw;
}
public void setPsw(String psw) {
this.psw = psw;
}
//复写toString()方法 进行查找
public String toString(){
return "name:"+name+"psw:"+psw;
}
}
3 .userdao.java 数据库实例化 具体操作
package com.example.cx;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.example.cx.User;
public class UserDAO {
private DBOpenHelper helper;
public UserDAO(Context context){
helper=new DBOpenHelper(context);
}
/**
* 添加
*/
public void add(User user){
SQLiteDatabase db=helper.getWritableDatabase();
String sql="Insert into u_user(name,psw) values(?,?)";
db.execSQL(sql, new Object[]
{
user.getName(),user.getPsw()
}
);
db.close();
}
/**
* 删除
*/
/* public void delete(Integer...id){
if(id.length>0){
StringBuffer sb=new StringBuffer();
for(int i=0;i<id.length;i++){
sb.append("?").append(",");
}
sb.deleteCharAt(sb.length()-1);
SQLiteDatabase database=helper.getWritableDatabase();
String sql="delete from u_user where _id in ("+sb+")";
database.execSQL(sql, (Object[])id);
}
}*/
* 查找用户信息
*/
public User find(String name){
SQLiteDatabase db=helper.getWritableDatabase();
String sql="select name,psw from u_user where name=?";
Cursor cursor=db.rawQuery(sql, new String[]{
String.valueOf(name)
});
if(cursor.moveToNext()){
return new User(
//cursor.getInt(cursor.getColumnIndex("id")),
cursor.getString(cursor.getColumnIndex("name")),
cursor.getString(cursor.getColumnIndex("psw"))
);
}
return null;
}
/**
* 查找最后存入
*/
public User shouxiang(){
SQLiteDatabase db=helper.getWritableDatabase();
String sql="select name,psw from u_user where _id in (select max(_id) from u_user)";
// "_data" + "=?"
Cursor cursor=db.rawQuery(sql, new String[]{
});
if(cursor.moveToNext())
{
return new User(
// cursor.getInt(cursor.getColumnIndex("id")),
cursor.getString(cursor.getColumnIndex("name")),
cursor.getString(cursor.getColumnIndex("psw"))
);
}
return null;
}
/*
* 显示用户
*/
public Cursor select() {
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.query("u_user",
null, null, null, null,
null, "_id desc");
return cursor;
}
}
2.DBOpenHelper.java // 数据库创建方法
package com.example.cx;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DBOpenHelper extends SQLiteOpenHelper {
private static final int VERSION=2;//版本
private static final String DBNAME="user1.db";//数据库名字
//创建数据库
public DBOpenHelper(Context context) {
super(context, DBNAME, null, VERSION);
}
@Override
/*
* 创建表
*/
public void onCreate(SQLiteDatabase db1)
{
db1.execSQL("create table if not exists u_user(_id integer primary key AUTOINCREMENT,name varchar(20),psw varchar(20))");
}
//版本被更新时执行
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
4.login.java
CheckBox cb = (CheckBox)this.findViewById(R.id.cb);
//绑定监听器
@Override
//页面打开,显示上次登录号
public void onClick(View v)
{*/
try{
UserDAO userDAO=new UserDAO(LoginActivity.this);
User user=userDAO.shouxiang();
//text1.setText("姓名:"+user.getID());
etyhm.setText(user.getName());
etmm.setText(user.getPsw());
// "+user.getName()+" "+"密码:"+);
}
catch (Exception e) {
System.out.println("chaxun222yichang");
}
//点击保存密码复选框
cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
{ @Override
public void onCheckedChanged(CompoundButton arg0, boolean isChecked)
{ // TODO Auto-generated method stub
if(isChecked)
{
try{
UserDAO userdao = new UserDAO(LoginActivity.this);
User user = new User(etyhm.getText().toString(),
etmm.getText().toString());
userdao.add(user);
Toast.makeText(LoginActivity.this, "成功添加!", Toast.LENGTH_LONG).show();
//设置为空
}catch (Exception e) {
System.out.println("shuruyichang");
}
}
}
});
.

浙公网安备 33010602011771号