(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();