package com.ztspeech.simutalk2.data;
import java.util.ArrayList;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class TransHistory {
private ArrayList<TransData> items = new ArrayList<TransData>();
private static TransHistory mInstance = null;
public static TransHistory getInstance(){
if(mInstance == null){
mInstance = new TransHistory();
}
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(HistoryTable db) {
// TODO Auto-generated method stub
db.clearTable();
items.clear();
}
public void add(TransData data, HistoryTable db) {
SQLiteDatabase database = db.getWritableDatabase();
database.beginTransaction();
database.execSQL("insert into histroy (transtype,transfrom,transto)values(?,?,?)",
new Object[] { data.type, data.from, data.to });
// database.close(); //���Բ��ر����ݿ⣬������Ỻ��һ�����ݿ��������Ժ�Ҫ�þ�ֱ���������������ݿ����ͨ��
// context.openOrCreateDatabase(arg0, arg1, arg2)�����ݿ����ùر�
database.setTransactionSuccessful();
database.endTransaction();
}
public void delete(HistoryTable db, Integer... ids) {
if (ids.length > 0) {
StringBuffer sb = new StringBuffer();
for (Integer id : ids) {
sb.append('?').append(',');
}
sb.deleteCharAt(sb.length() - 1);
SQLiteDatabase database = db.getWritableDatabase();
database.execSQL(
"delete from histroy where dataid in(" + sb.toString()
+ ")", ids);
}
}
public void getScrollData(HistoryTable 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)));
}
}
}