저는 Android가 매우 새로워서 일이 모듈별로 작동하는 방식을 배우려고합니다. 다음은 내가하려는 일입니다.SQLite 데이터베이스를 실시간으로 업데이트 할 때 Cursor에서 업데이트 된 값을 표시 할 수 없습니다.
즐겨 찾기 확인란 (이미지)으로 단어를 표시하십시오. 사용자가 탭을 누르면 데이터베이스가 업데이트되고 데이터베이스 테이블의 열에 해당 값이 저장됩니다 (확인의 경우 1, 선택하지 않은 경우 0). 커서를 사용하여 단어 및 즐겨 찾기 확인란의 값을 검색합니다. 좋아하는 이미지를 탭하면 문제없이 데이터베이스가 올바르게 업데이트됩니다.
내가 직면하고 문제는 : 나는 응용 프로그램을 종료하고 다시 시작하지 않는 한
가, 커서가 데이터베이스에 최근 변화를 가져 오지 않습니다. 그것을 더 설명하기 위해, 다음/이전 단어 (화면의 하단에있는 버튼을 사용하여)로 검색하면 검색된 값이 커서 커서가 이전 데이터베이스 값을 가지고 업데이트 된 값이 아닌 것처럼 보입니다 .
Google을 통해 StackOverflow를 검색했지만 구체적인 검색 결과를 얻지 못했지만 올바른 검색 조건을 사용하지 않는 것 같습니다. 나는 이것이 커서 업데이트와 재 쿼리가 가치 저하된다는 사실을 알고 있지만 다시 방향을 잃어 버렸다.
[편집] 얻기 위해 아래에 언급 된 방법을 사용하여 커서 :
public Cursor getWords() {
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String[] sqlSelect = {"_id", "word", "favourite"};
String sqlTables = "word_list";
qb.setTables(sqlTables);
Cursor c = qb.query(db, sqlSelect, null, null,
null, null, null);
c.moveToFirst();
return c;
}
이 방법은 사용자가 데이터베이스를 업데이트 마음에 드는 이미지를 도청 할 때 호출됩니다
public void setFavWord(int markFav, int wordPos) {
SQLiteDatabase db = getWritableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
ContentValues values = new ContentValues();
values.put("favourite", markFav);
db.update("word_list", values, "_id = " + wordPos, null);
}
내가 제대로 작동하는지 응용 프로그램을 종료하면 bez가 작동합니다 페이지를 새로 고칩니다. – Sree
sqlite에 데이터를 삽입 한 후 다시 커서를 업데이트하고 페이지를 새로 고치기 위해 데이터를 가져옵니다. –
@Sreekanth 어떻게 도움이 될까요? 내가 아는 한 오래된 데이터 세트를 다루는 커서입니다. – Paritosh