Created
May 12, 2013 21:38
-
-
Save dadamssg/5565011 to your computer and use it in GitHub Desktop.
How do i test this?
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public void saveRecord(Record record) { | |
ContentValues values = new ContentValues(); | |
for (int i = 0; i < record.getSchema().getColumnNames().length; i++) { | |
String columnName = record.getSchema().getColumnNames()[i]; | |
ColumnType columnType = record.getSchema().getColumnTypes()[i]; | |
//check if we have a new record. If we do, skip setting this value | |
if(columnName.equals("_id") && record.getValue(columnName) == null){ | |
continue; | |
} | |
switch (columnType) { | |
case BOOL: | |
Boolean BoolValue = false; | |
if(record.getValue(columnName) != null) { | |
BoolValue = (Boolean) record.getValue(columnName); | |
} | |
values.put(columnName, BoolValue); | |
break; | |
case TEXT: | |
String textValue = ""; | |
if(record.getValue(columnName) != null){ | |
textValue = record.getValue(columnName).toString(); | |
} | |
values.put(columnName, textValue); | |
break; | |
case INTEGER: | |
Integer intValue = 0; | |
if(record.getValue(columnName) != null){ | |
intValue = (Integer) record.getValue(columnName); | |
} | |
values.put(columnName, intValue); | |
break; | |
case TIMESTAMP: | |
Integer timeValue = 0; | |
if(record.getValue(columnName) != null){ | |
timeValue = (Integer) record.getValue(columnName); | |
} | |
values.put(columnName, timeValue); | |
break; | |
case LONG: | |
Long longValue = Long.valueOf(0); | |
if(record.getValue(columnName) != null){ | |
longValue = (Long) record.getValue(columnName); | |
} | |
values.put(columnName, longValue); | |
break; | |
case DOUBLE: | |
Double doubleValue = 0.0; | |
if(record.getValue(columnName) != null){ | |
doubleValue = (Double) record.getValue(columnName); | |
} | |
values.put(columnName, doubleValue); | |
break; | |
default: | |
break; | |
} | |
} | |
Date now = new Date(); | |
long currentTime = now.getTime(); | |
values.put("updated_at", currentTime); | |
// new record; set created time stamp, attach the returned id to the record | |
if (record.getId() <= 0) { | |
values.put("created_at", currentTime); | |
int insertId = (int) database.insert(record.getSchema().getTable(), null, values); | |
record.setId(insertId); | |
} else { | |
database.update(record.getSchema().getTable(), values, "_id = " + record.getId(), null); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment