안드로이드 앱에 50 개의 최신 텍스트 만 저장해야하는 테이블이 있습니다. 테이블이 ID 50에 도달하면 이전 테이블을 삭제하고 새 테이블을 삽입하기를 원합니다.SQLite가 최신 50 가지만 저장하도록하십시오 - Android!
나는 새로운 것을 삽입 할 때 1의 ID로 놓고 다른 모든 것을 한 단계 아래로 가게하는 것이 가장 좋을 것이라고 추측하고 있습니다. ID 1은 ID 2 등이되고 새 텍스트는 ID 1이됩니다. 이것은 추측입니다. 하지만 최신 50 개만 저장하고 나머지는 모두 삭제해야합니다.
private final String CreateTable = "CREATE TABLE " +
SqConstants.TABLE_LOCAL + " (" +
SqConstants.EXTERNAL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
SqConstants.TEXT + " TEXT NOT NULL, " +
SqConstants.TIME + " TEXT NOT NULL, " +
SqConstants.IMAGE_URL + " TEXT NOT NULL, " +
SqConstants.USER + " TEXT NOT NULL, " +
SqConstants.LONG_EXT + " LONG NOT NULL);";
그리고이 데이터베이스에 삽입하는 방법입니다 :이 가장
public long insert(
String text,
String time,
String imageUrl,
String user,
long ExtLong) {
try {
ContentValues cv = new ContentValues();
cv.put(SqConstants.TEXT, text);
cv.put(SqConstants.TIME, time);
cv.put(SqConstants.IMAGE_URL, imageUrl);
cv.put(SqConstants.USER, user);
cv.put(SqConstants.LONG_EXT, id);
return dataBase.insert(SqConstants.TABLE_LOCAL, null, cv);
} catch(SQLiteException ex) {
Log.e(TAG, "FAILED TO PUT INTO CONTENTVALUES. Exception: " + ex.getMessage());
return -1;
}
}
어떤 아이디어를 수행하는 방법은
이 내가 표를 만드는 방법입니까?
얼마나 자주 상위 50 개를 업데이트 하시겠습니까? – Ian
트리거는 2.2 이상에서만 작동하는 것으로 나타납니다. – Femi