[android] 데이터 조회 및 검색

이번 포스트에서는 안드로이드 앱에서 데이터를 조회하고 검색하는 방법에 대해 알아보겠습니다.

  1. 로컬 데이터 조회 안드로이드 앱에서는 SQLite 데이터베이스를 사용하여 로컬 데이터를 조회할 수 있습니다. 다음은 SQLite 데이터베이스에서 데이터를 조회하는 간단한 예제입니다.

    // 데이터베이스 조회 예제
    SQLiteDatabase db = dbHelper.getReadableDatabase();
    Cursor cursor = db.query(TABLE_NAME, columns, null, null, null, null, null);
    while (cursor.moveToNext()) {
        // 데이터 처리
    }
    cursor.close();
    
  2. 검색 기능 추가 데이터가 많은 경우 사용자가 원하는 항목을 빠르게 찾을 수 있도록 검색 기능을 추가하는 것이 좋습니다. 안드로이드에서는 SearchView 위젯과 함께 Filterable 인터페이스를 구현하여 간단하게 검색 기능을 추가할 수 있습니다.

    // SearchView를 이용한 검색 기능 추가
    SearchView searchView = findViewById(R.id.searchView);
    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            adapter.getFilter().filter(query);
            return false;
        }
        @Override
        public boolean onQueryTextChange(String newText) {
            adapter.getFilter().filter(newText);
            return false;
        }
    });
    
  3. 네트워크를 통한 데이터 조회 앱에서 원격 서버에서 데이터를 조회해야 하는 경우 Retrofit, Volley 등의 라이브러리를 사용하여 네트워크 통신을 구현할 수 있습니다. 아래는 Retrofit을 사용한 데이터 조회 예제입니다.

    // Retrofit을 사용한 데이터 조회 예제
    Call<List<Data>> call = apiService.getData();
    call.enqueue(new Callback<List<Data>>() {
        @Override
        public void onResponse(Call<List<Data>> call, Response<List<Data>> response) {
            // 응답 처리
        }
        @Override
        public void onFailure(Call<List<Data>> call, Throwable t) {
            // 에러 처리
        }
    });
    

위에서는 안드로이드 앱에서 로컬 데이터벤이스 및 네트워크를 통해 데이터를 조회하고 검색하는 방법에 대해 살펴보았습니다.

관련 참고자료: