package tv.pps.bi.db;
import java.util.ArrayList;
import java.util.List;
import tv.pps.bi.proto.model.AppActivity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class DBAPPManager {
private DBAPPHelper dbHelper;
private SQLiteDatabase db ;
private static DBAPPManager dm = null;
private DBAPPManager(Context context) {
this.dbHelper = new DBAPPHelper(context);
this.db = dbHelper.getWritableDatabase();
}
public static DBAPPManager getDBManager(Context context){
synchronized (DBAPPManager.class) {
if(dm ==null){
dm = new DBAPPManager(context);
}
}
return dm;
}
/**
* 保存数据
*/
public void save(AppActivity app) {
String sql = "insert into appdata(name,start,duration) values(?,?,?)";
Object[] binargs = new Object[] { app.getPackageName(), app.getStart_timestamp(),
app.getDuration() };
db.execSQL(sql, binargs);
}
/**
* 删除数据
*/
public void delete()
{
db.delete("appdata", null, null);
db.execSQL("drop view IF EXISTS appinfo");
}
// 显示 返回的是List集合
public List<AppActivity> getData(String appname) {
List<AppActivity> appdatas = new ArrayList<AppActivity>();
String sql = "select * from appdata where name = ?";
Cursor cursor = db.rawQuery(sql,new String[]{appname});
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
String start_timestamp = cursor.getString(cursor.getColumnIndex("start"));
int duration = cursor.getInt(cursor.getColumnIndex("duration"));
AppActivity app = new AppActivity();
app.setPackageName(name);
app.setStart_timestamp(start_timestamp);
app.setDuration(duration);
appdatas.add(app);
}
cursor.close();
return appdatas;
}
public int DBCount(){
Cursor cursor = db.rawQuery("select *from appdata ",null);
int count = cursor.getCount();
return count;
}
public void deleteDBData(int count){
int size = count-300;
String sql = "delete from appdata where appid <"+size;
db.execSQL(sql);
}
}