package com.ztspeech.simutalk2.data;
import java.util.ArrayList;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class TransDataList {
private static final String TABLE_NAME = "histroy";
private ArrayList<TransData> items = new ArrayList<TransData>();
private static TransDataList mInstance = null;
public static TransDataList getInstance(){
if(mInstance == null){
mInstance = new TransDataList();
}
return mInstance;
}
public TransData get(int n){
if( n < 0){
return null;
}
if(n >= items.size()){
return null;
}
return items.get(n);
}
public int size(){
return items.size();
}
public void remove(int item) {
// TODO Auto-generated method stub
if( item < 0){
return;
}
if(item >= items.size()){
return;
}
items.remove(item);
}
public void clear(DBTable db) {
// TODO Auto-generated method stub
SQLiteDatabase database = db.getWritableDatabase();
//database.beginTransaction();
database.delete(TABLE_NAME, "", null);
// database.execSQL("delete from histroy", null);
//database.close();
// database.setTransactionSuccessful();
//database.endTransaction();
items.clear();
}
public void add(TransData data, DBTable db) {
SQLiteDatabase database = db.getWritableDatabase();
database.beginTransaction();
// debug
// database.delete("histroy", "transtype='"+data.type +"' and transfrom='"+data.from+ "'", null);
ContentValues cv =new ContentValues();
cv.put("transtype",data.type);
cv.put("transfrom", data.from);
cv.put("transto",data.to );
database.insert(TABLE_NAME,null,cv);
// database.close(); //���Բ��ر����ݿ⣬������Ỻ��һ�����ݿ��������Ժ�Ҫ�þ�ֱ���������������ݿ����ͨ��
// context.openOrCreateDatabase(arg0, arg1, arg2)�����ݿ����ùر�
database.setTransactionSuccessful();
database.endTransaction();
}
/*
public void update(TransData person) {
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
database.execSQL(
"update person set name=?,age=? where personid=?",
new Object[] { person.getName(), person.getAge(),
person.getId() });
}
public TransData find(Integer id) {
SQLiteDatabase database = dbOpenHelper.getReadableDatabase();
Cursor cursor = database.rawQuery(
"select * from person where personid=?",
new String[] { String.valueOf(id) });
if (cursor.moveToNext()) {
return new TransData(cursor.getInt(0), cursor.getString(1), cursor.getString(2),cursor.getString(3));
}
return null;
}
*/
public void delete(DBTable db, Integer... ids) {
if (ids.length > 0) {
StringBuffer sb = new StringBuffer();
for (Integer id : ids) {
sb.append('?').append(',');
id += id;
}
sb.deleteCharAt(sb.length() - 1);
SQLiteDatabase database = db.getWritableDatabase();
database.execSQL(
"delete from histroy where dataid in(" + sb.toString()
+ ")", ids);
}
}
public void getScrollData(DBTable db) {
items.clear();
SQLiteDatabase database = db.getReadableDatabase();
Cursor cursor = database.rawQuery( "select * from histroy", null);
while (cursor.moveToNext()) {
items.add(new TransData(cursor.getInt(0),
cursor.getString(1),
cursor.getString(2),
cursor.getString(3)));
}
}
/*
public long getCount() {
SQLiteDatabase database = dbOpenHelper.getReadableDatabase();
Cursor cursor = database.rawQuery("select count(*) from person", null);
if (cursor.moveToNext()) {
return cursor.getLong(0);
}
return 0;
}
*/
}