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");
      }
                  }   
             }
                });

.

posted @ 2013-02-20 17:30  日清日高  阅读(657)  评论(0)    收藏  举报