Как хранить данные в объектах и сохранять их в базе данных SQLite?

Я считываю данные через Bluetooth с датчика. Я создал DataReceiverClass, который создает объекты с необходимыми атрибутами, он выглядит так:

public class DataReceiverClass{

public int heartRate;
public int heartBeatNo;
public long distance;
public long speed;
public long strides;

public DataReceiverClass(int heartRate, int heartBeatNo,long distance, long speed, long strides) {
 this.heartRate = heartRate;
 this.heartBeatNo = heartBeatNo;
 this.distance = distance;
 this.speed = speed;
 this.strides = strides;
}

public int getHeartRate() {
 return heartRate;
}

public void setHeartRate(int heartRate) {
 this.heartRate = heartRate;
}


public int getHeartBeatNo() {
 return heartBeatNo;
}

public void setHeartBeatNo(int heartBeatNo) {
 this.heartBeatNo = heartBeatNo;
}


public long getDistance() {
 return distance;
}

public void setDistance(long distance) {
 this.distance = distance;
}
public long getSpeed() {
 return speed;
}

public void setSpeed(long speed) {
 this.speed = speed;
}

public long getStrides() {
 return strides;
}

public void setStrides(long strides) {
 this.strides = strides;
}

}

И это класс, где я его называю. Я использовал метод getInfo(). Я должен сохранить около 100 объектов этого типа где-то и после этого вставить их в базу данных SQLite (с чем-то вроде объемной вставки, я думаю). Вот мой основной код класса. Кто-нибудь знает, как это сделать?

public class hxmDemo extends Activity {


private static final String TAG = "hxmDemo";
private TextView mTitle;
private TextView mStatus;
private String mHxMName = null;
private String mHxMAddress = null;
private BluetoothAdapter mBluetoothAdapter = null;
private HxmService mHxmService = null;
private ArrayList<datareceiverclass> dataReceiverList = new ArrayList<datareceiverclass>();

private void connectToHxm() {

 //connection stuff
}

private boolean getFirstConnectedHxm() {

 //connection stuff
}


@Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);

 // other stuff
}

@Override
public void onStart() {
 super.onStart();
 //onStart() stuff

}

@Override
public synchronized void onResume() {
 super.onResume();
 //resume stuff
}

private void setupHrm() {

}

@Override
public synchronized void onPause() {
 super.onPause();
}

@Override
public void onStop() {
 super.onStop();
}

@Override
public void onDestroy() {
 super.onDestroy();

}

private final Handler mHandler = new Handler() {
 @Override
 public void handleMessage(Message msg) {
 switch (msg.what) {
 case R.string.HXM_SERVICE_MSG_STATE:
 Log.d(TAG, "handleMessage(): MESSAGE_STATE_CHANGE: " + msg.arg1);
 switch (msg.arg1) {
 case R.string.HXM_SERVICE_CONNECTED:
 if ((mStatus != null) && (mHxMName != null)) {
 mStatus.setText(R.string.connectedTo);
 mStatus.append(mHxMName);
 }
 break;

 case R.string.HXM_SERVICE_CONNECTING:
 mStatus.setText(R.string.connecting);
 break;

 case R.string.HXM_SERVICE_RESTING:
 if (mStatus != null ) {
 mStatus.setText(R.string.notConnected);
 }
 break;
 }
 break;

 case R.string.HXM_SERVICE_MSG_READ: {

 byte[] readBuf = (byte[]) msg.obj;
 HrmReading hrm = new HrmReading( readBuf );
 hrm.displayRaw();
 dataReceiverList.add(hrm.getInfo());
 break;
 }

 case R.string.HXM_SERVICE_MSG_TOAST:
 Toast.makeText(getApplicationContext(), msg.getData().getString(null),Toast.LENGTH_SHORT).show();
 break;
 }
 }
};

@Override
public boolean onCreateOptionsMenu(Menu menu) {
 // ...
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
 // ...
}

public void onActivityResult(int requestCode, int resultCode, Intent data) {
 // ...
}

public class HrmReading {
 // reading the 5 info from the sensor: heartRate,heartBeatNumber,distance,speed,strides
 }
private DataReceiverClass getInfo(){
 DataReceiverClass dataReceiverClass = new DataReceiverClass(heartRate,heartBeatNumber,distance,speed,strides);
 return dataReceiverClass;

}


private void displayRaw() {
 display ( R.id.heartRate, (int)heartRate );
 display ( R.id.heartBeatNumber, (int)heartBeatNumber );
 display ( R.id.distance, distance );
 display ( R.id.speed, speed );
 display ( R.id.strides, (int)strides );


 }
 private DataReceiverClass getInfo(){
 DataReceiverClass dataReceiverClass = new DataReceiverClass(heartRate,heartBeatNumber,distance,speed,strides);
 return dataReceiverClass;

 }

}
</datareceiverclass></datareceiverclass>
1 ответ

Gson gson = new Gson();
String backUpData = gson.toJson(dataReceiverClass,DataReceiverClass.class);

После этого вы можете вставить эту строку прямо в db.

licensed under cc by-sa 3.0 with attribution.