|
|
@@ -5,7 +5,6 @@ import android.content.Context;
|
|
|
import android.database.Cursor;
|
|
|
import android.database.sqlite.SQLiteDatabase;
|
|
|
|
|
|
-import com.xzjmyk.pm.activity.db.DatabaseManager;
|
|
|
import com.xzjmyk.pm.newpedo.bean.StepEntity;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
@@ -16,9 +15,11 @@ import java.util.List;
|
|
|
*/
|
|
|
|
|
|
public class StepDataDao {
|
|
|
+ private StepDBOpenHelper stepHelper;
|
|
|
+ private SQLiteDatabase stepDb;
|
|
|
|
|
|
public StepDataDao(Context context) {
|
|
|
-
|
|
|
+ stepHelper = new StepDBOpenHelper(context);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -27,13 +28,14 @@ public class StepDataDao {
|
|
|
* @param stepEntity
|
|
|
*/
|
|
|
public void addNewData(StepEntity stepEntity) {
|
|
|
- //TODO 获取db的方式统一使用这个,以后的方法里面使用到db的也用这个方式获取,不然有可能出现闪退
|
|
|
- SQLiteDatabase stepDb = DatabaseManager.getInstance().openDatabase();
|
|
|
+ stepDb = stepHelper.getReadableDatabase();
|
|
|
+
|
|
|
ContentValues values = new ContentValues();
|
|
|
values.put("curDate", stepEntity.getCurDate());
|
|
|
values.put("totalSteps", stepEntity.getSteps());
|
|
|
stepDb.insert("step", null, values);
|
|
|
- DatabaseManager.getInstance().closeDatabase();
|
|
|
+
|
|
|
+ stepDb.close();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -43,23 +45,22 @@ public class StepDataDao {
|
|
|
* @return
|
|
|
*/
|
|
|
public StepEntity getCurDataByDate(String curDate) {
|
|
|
- SQLiteDatabase stepDb = DatabaseManager.getInstance().openDatabase();
|
|
|
+ stepDb = stepHelper.getReadableDatabase();
|
|
|
StepEntity stepEntity = null;
|
|
|
Cursor cursor = stepDb.query("step", null, null, null, null, null, null);
|
|
|
-
|
|
|
- while (cursor.moveToNext()) {
|
|
|
- String date = cursor.getString(cursor.getColumnIndexOrThrow("curDate"));
|
|
|
- if (curDate.equals(date)) {
|
|
|
- String steps = cursor.getString(cursor.getColumnIndexOrThrow("totalSteps"));
|
|
|
- stepEntity = new StepEntity(date, steps);
|
|
|
- //跳出循环
|
|
|
- break;
|
|
|
- }
|
|
|
+ while (cursor.moveToNext()) {
|
|
|
+ String date = cursor.getString(cursor.getColumnIndexOrThrow("curDate"));
|
|
|
+ if (curDate.equals(date)) {
|
|
|
+ String steps = cursor.getString(cursor.getColumnIndexOrThrow("totalSteps"));
|
|
|
+ stepEntity = new StepEntity(date, steps);
|
|
|
+ //跳出循环
|
|
|
+ break;
|
|
|
}
|
|
|
- //关闭数据库
|
|
|
- cursor.close();
|
|
|
- DatabaseManager.getInstance().closeDatabase();
|
|
|
- return stepEntity;
|
|
|
+ }
|
|
|
+ //关闭
|
|
|
+ stepDb.close();
|
|
|
+ cursor.close();
|
|
|
+ return stepEntity;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -69,7 +70,7 @@ public class StepDataDao {
|
|
|
*/
|
|
|
public List<StepEntity> getAllDatas() {
|
|
|
List<StepEntity> dataList = new ArrayList<>();
|
|
|
- SQLiteDatabase stepDb = DatabaseManager.getInstance().openDatabase();
|
|
|
+ stepDb = stepHelper.getReadableDatabase();
|
|
|
Cursor cursor = stepDb.rawQuery("select * from step", null);
|
|
|
|
|
|
while (cursor.moveToNext()) {
|
|
|
@@ -80,25 +81,24 @@ public class StepDataDao {
|
|
|
}
|
|
|
|
|
|
//关闭数据库
|
|
|
+ stepDb.close();
|
|
|
cursor.close();
|
|
|
- DatabaseManager.getInstance().closeDatabase();
|
|
|
return dataList;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 更新数据
|
|
|
- *
|
|
|
* @param stepEntity
|
|
|
*/
|
|
|
public void updateCurData(StepEntity stepEntity) {
|
|
|
- SQLiteDatabase stepDb = DatabaseManager.getInstance().openDatabase();
|
|
|
+ stepDb = stepHelper.getReadableDatabase();
|
|
|
|
|
|
ContentValues values = new ContentValues();
|
|
|
- values.put("curDate", stepEntity.getCurDate());
|
|
|
+ values.put("curDate",stepEntity.getCurDate());
|
|
|
values.put("totalSteps", stepEntity.getSteps());
|
|
|
stepDb.update("step", values, "curDate=?", new String[]{stepEntity.getCurDate()});
|
|
|
|
|
|
- DatabaseManager.getInstance().closeDatabase();
|
|
|
+ stepDb.close();
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -108,10 +108,10 @@ public class StepDataDao {
|
|
|
* @param curDate
|
|
|
*/
|
|
|
public void deleteCurData(String curDate) {
|
|
|
- SQLiteDatabase stepDb = DatabaseManager.getInstance().openDatabase();
|
|
|
+ stepDb = stepHelper.getReadableDatabase();
|
|
|
|
|
|
if (stepDb.isOpen())
|
|
|
stepDb.delete("step", "curDate", new String[]{curDate});
|
|
|
- DatabaseManager.getInstance().closeDatabase();
|
|
|
+ stepDb.close();
|
|
|
}
|
|
|
}
|