胡神

导航

(android) SQLite数据操作(二)

DBHelper.java 文件

package org.ContactProject.DB;

import java.util.ArrayList;
import java.util.HashMap;

import org.ContactProject.entity.User;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper{

 public final static String DB_NAME="contact";
 
 public final static int  VERSION=1;
 
 private static DBHelper instance=null;
 
 private SQLiteDatabase db;
 
 public static DBHelper getInstance(Context context)
 {
  if(instance==null)
  {
   instance=new DBHelper(context);
   
  }
  return instance;
 }
 
 private void openDatabase()
 {
  if(db==null)
  {
   db=this.getWritableDatabase();
  }
 }
 
 private DBHelper(Context context)
 {
  super(context, DB_NAME, null, VERSION);
 }
 
 
 public DBHelper(Context context, String name, CursorFactory factory,
   int version) {
  super(context, name, factory, version);
  // TODO Auto-generated constructor stub
 }

 @Override
 public void onCreate(SQLiteDatabase db) {
  // TODO Auto-generated method stub
  
  StringBuffer sb=new StringBuffer();
  sb.append("create table user ( ")
    .append("_id integer primary key autoincrement,")
    .append("address text,").append("company text,")
    .append("email text,").append("homephone text,")
    .append("imageid int,").append("mobilephone text,")
    .append("name text,").append("officephone text,")
    .append("other text,").append("position text,")
    .append("remark text,").append("zipcode text )");
  
       db.execSQL(sb.toString());
  
 }

 @Override
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  // TODO Auto-generated method stub
  String sql="drop table if exists user";
  db.execSQL(sql);
  onCreate(db);
 }
 
  
 public long save(User user)
 {
  openDatabase();
  ContentValues values=new ContentValues();
  values.put("address", user.address);
  values.put("company", user.company);
  values.put("email", user.email);

  values.put("imageid", user.imageid);
  values.put("mobilephone", user.mobilephone);
  values.put("name", user.name);
  
  values.put("homephone", user.homephone);
  values.put("officephone", user.officephone);
  values.put("other", user.other);
  
  values.put("position", user.position);
  values.put("remark", user.remark);
  values.put("zipcode", user.zipcode);
  
  return db.insert("user", null, values);
  
 }
 
 public ArrayList getuserlist()
 {
  openDatabase();
  Cursor cursor= db.query("user", null, null, null, null, null, null);
  ArrayList userlist=new ArrayList();
  while(cursor.moveToNext())
  {
   HashMap hashmap=new HashMap();
   
   hashmap.put("address",cursor.getInt(cursor.getColumnIndex("address"))  );
   hashmap.put("company", cursor.getString(cursor.getColumnIndex("company")));
   hashmap.put("email", cursor.getString(cursor.getColumnIndex("email")));
   
   hashmap.put("officephone",cursor.getInt(cursor.getColumnIndex("officephone"))  );
   hashmap.put("homephone", cursor.getString(cursor.getColumnIndex("homephone")));
   hashmap.put("other", cursor.getString(cursor.getColumnIndex("other")));
   
   hashmap.put("position",cursor.getInt(cursor.getColumnIndex("position"))  );
   hashmap.put("remark", cursor.getString(cursor.getColumnIndex("remark")));
   hashmap.put("zipcode", cursor.getString(cursor.getColumnIndex("zipcode")));
   
   hashmap.put("_id",cursor.getInt(cursor.getColumnIndex("_id"))  );
 
   hashmap.put("imageid",cursor.getInt(cursor.getColumnIndex("imageid"))  );
   hashmap.put("name", cursor.getString(cursor.getColumnIndex("name")));
   hashmap.put("mobilephone", cursor.getString(cursor.getColumnIndex("mobilephone")));
   userlist.add(hashmap);
  }
  return userlist;
  
 }
}

User.java 文件

package org.ContactProject.entity;

public class User {

 public int _id;
 
 public int imageid;
 
 public String name;
 
 public String mobilephone;
 
 public String officephone;
 
 public String homephone;
 
 public String position;
 
 public String company;
 
 public String address;
 
 public String zipcode;
 
 public String email;
 
 public String other;
 
 public String remark;
 
}

添加操作:

    String name=et_name.getText().toString();
    if(name.equals("")){
     Toast.makeText(AddNewActivity.this, "姓名不能为空", Toast.LENGTH_LONG).show();
     isReturn=0;
    }
    if(isReturn==1){
    String mobilephone=et_mobilephone.getText().toString();
    String officephone=et_officephone.getText().toString();
    String homephone=et_homephone.getText().toString();
    String position=et_position.getText().toString();
    String company=et_company.getText().toString();
    String address=et_address.getText().toString();
    String zipcode=et_zipcode.getText().toString();
    String email=et_email.getText().toString();
    String other=et_other.getText().toString();
    String remark=et_remark.getText().toString();
    int imageid=images[imageposition];
    
    User user=new User();
    user.address=address;
    user.company=company;
    user.email=email;
    user.homephone=homephone;
    user.imageid=imageid;
    user.mobilephone=mobilephone;
    user.name=name;
    user.officephone=officephone;
    user.other=other;
    user.position=position;
    user.remark=remark;
    user.zipcode=zipcode;
    
       long result=DBHelper.getInstance(AddNewActivity.this).save(user);

查找操作:

    ArrayList arrawList=DBHelper.getInstance(this).getuserlist();

posted on 2011-05-05 11:37  胡神  阅读(552)  评论(0)    收藏  举报