나는 약 20 가지 범주의 질문으로 sqlite 데이터베이스를 채우는 퀴즈 응용 프로그램을 가지고 있습니다. 누군가가 카테고리 1을 구매하면 이러한 질문이 데이터베이스에 추가되고 다른 사람들에게는 카테고리가 추가되지 않도록 앱 청구서를 구현하고 싶습니다. 내 질문 중 일부는 두 가지 범주에 속하므로 Category1 및 Category2를 가정 해 봅시다.앱 청구서에있는 Android SQLite
try {
for (int n = 1; n < sqlString.length; n++) {
db.execSQL("INSERT INTO " + DATABASE_TABLE + " VALUES ("
+ sqlString[n] + ");");
}
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
이것은 현재 SQLite 클래스 onCreate 메소드에서 설정 한 것입니다. sqlString은 지금까지 500 가지 질문을 모두 포함하는 문자열 배열입니다.
카테고리를 다른 테이블에서 구입했는지 여부를 저장하려고합니다 (하지만이 방법에 대한 다른 제안이 있습니다). 나는이 데이터베이스를 읽는 클래스를 작성하여 각 카테고리를 구입했는지 여부에 관계없이 true 또는 false의 부울 값을 설정할 계획입니다. 이 구입 한 경우 그래서 등
boolean cat1 = CheckIfCategoryHasBeenBought(category1)
그런 다음 내가 그것을 할 수있는 좋은 방법도 경우
boolean[] catChecker = {cat1, cat2, cat3, etc....}
SQLite info = new SQLite(this);
info.open();
info.addQs(catChecker)
//this will pass the true and false boolean values for each method then
//based on that I choose to implement or not
info.close();
그러나 나도 몰라과 같은 방법을 구현합니다. 값을 이미 추가했는지 확인하는 방법을 모르겠습니다 (구매 한 다른 카테고리로 건너 뛴 결과). 커서가 값이 이미 추가되어 있는지 확인하는 것이 가장 좋다고 생각했지만 커서를 검색하려면 어떻게해야합니까?
나는이 달성 될 수 있다고 생각했습니다 방법은
1) 난 단지 구입 질문과 관련된 문자열 문자열 배열을 만드는 것입니다. 2) 위의 for 문 내에서 if 문을 작성합니다. 문자열이 구입 한 범주에 속하는지 여부를 확인합니다. 3) 구입하지 않은 모든 문자열에 "null"값을 지정하고 if 문을 실행 만 추가하십시오 sqlString [n]이 null이 아닌 경우 SQL.
어떻게 설정하는 것이 가장 좋을지 알고 계신가요?
해킹이 훨씬 쉽기 때문에이 작업을 수행하고 싶지 않았습니다. 각 질문을 if 문에 적용한 모든 카테고리로 래핑하고, 질문을 구매하지 않은 경우 null로 설정했다. – AndroidPenguin