커서 어댑터를 이용한 데이터베이스 연결에 대해 질문이 있습니다(안드로이드)(초보)

조회수 866회

현재 데이터베이스를 생성하여 리스트뷰에 연결하려고 합니다.

먼저 커서 어댑터의 코드입니다.

public class DBAdapterForSearched extends ResourceCursorAdapter {

public DBAdapterForSearched(Context context, int layout, Cursor c, boolean autoRequery) {
    super(context, layout, c, autoRequery);
}

public DBAdapterForSearched(Context context, int layout, Cursor c, int flags) {
    super(context, layout, c, flags);
}

@Override
public void bindView(View view, Context context, Cursor cursor) {
    TextView name = (TextView) view.findViewById(R.id.item_city);
    name.setText(cursor.getString(cursor.getColumnIndex("ITEM1")));

    TextView phone = (TextView) view.findViewById(R.id.item_country);
    phone.setText(cursor.getString(cursor.getColumnIndex("ITEM2")));
}

@Nullable
@Override
public CharSequence[] getAutofillOptions() {
    return new CharSequence[0];
}

}

위의 코드대로 어댑터를 만들고 이 어댑터를 한 리스트뷰에 연결시키기 위해 액티비티에 연결했습니다만

public class Searched extends AppCompatActivity {

String DATABASE_NAME = "searched";
String query = "SELECT distinct city from searched_table";
DBHelperForSearched db;
ListView list;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.searched_list);

    db = new DBHelperForSearched(this);
    db.getWritableDatabase();

 //   Cursor cursor = db.rawQuery(query, null);
    DBAdapterForSearched adapter = new DBAdapterForSearched(
            this, R.layout.searched_list, cursor, 0 );


    list.setAdapter(adapter);
}

}

주석문을 처리한 부분에서 rawQuery가 동작하지 않으며 잘못된 구문이라고 나옵니다. 제가 놓친 부분이나 방법이 잘못된 것인지 조언을 구합니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)