[android] 데이터 조회 및 검색
이번 포스트에서는 안드로이드 앱에서 데이터를 조회하고 검색하는 방법에 대해 알아보겠습니다.
-
로컬 데이터 조회 안드로이드 앱에서는 SQLite 데이터베이스를 사용하여 로컬 데이터를 조회할 수 있습니다. 다음은 SQLite 데이터베이스에서 데이터를 조회하는 간단한 예제입니다.
// 데이터베이스 조회 예제 SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.query(TABLE_NAME, columns, null, null, null, null, null); while (cursor.moveToNext()) { // 데이터 처리 } cursor.close();
-
검색 기능 추가 데이터가 많은 경우 사용자가 원하는 항목을 빠르게 찾을 수 있도록 검색 기능을 추가하는 것이 좋습니다. 안드로이드에서는
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; } });
-
네트워크를 통한 데이터 조회 앱에서 원격 서버에서 데이터를 조회해야 하는 경우 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) { // 에러 처리 } });
위에서는 안드로이드 앱에서 로컬 데이터벤이스 및 네트워크를 통해 데이터를 조회하고 검색하는 방법에 대해 살펴보았습니다.
관련 참고자료:
-
[SQLite 데이터베이스 Android Developers](https://developer.android.com/training/data-storage/sqlite) -
[검색 기능 추가하기 Android Developers](https://developer.android.com/guide/topics/search) -
[Retrofit Square](https://square.github.io/retrofit/)