본문 바로가기
[IT] Android

[안드로이드 스튜디오] Android DB(SQLite) 연동 및 Selecte 쿼리 조회

by 오리엔탈킴 2023. 6. 8.

안드로이드 앱 내장 DB로 SQLite 데이터베이스가 사용이 되는데, Android Studio에서 SQLiteHelper를 활용한 간단한 DB 연동 및 Cursor 인터페이스를 활용해 Selecte 쿼리로 데이터를 가져오는 간단한 예제를 작성하려고 합니다.

또한 데이터 검수 및 확인을 위해 안드로이드 스튜디오에서 안드로이드 내장 DB로 쿼리를 직접 날리고 데이터를 확인하는 방법도 정리를 해보려고 합니다.

안드로이드 SQLite DB 연동 예제

SQLiteHelper.java

public class SQLiteHelper extends SQLiteOpenHelper {

    private static final String DATABASE_NAME = "mytestgo.db";
    private static final int DATABASE_VERSION = 1;

    public SQLiteHelper(@Nullable Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {

        sqLiteDatabase.execSQL("DROP TABLE IF EXISTS Members");

        sqLiteDatabase.execSQL("create table Members (mID integer primary key autoincrement, Name text, Age integer);");

        sqLiteDatabase.execSQL("INSERT INTO Members VALUES (1,'Kim',20);");
        sqLiteDatabase.execSQL("INSERT INTO Members VALUES (2,'Lee',30);");
        sqLiteDatabase.execSQL("INSERT INTO Members VALUES (3,'Park',40);");

    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }

    public ArrayList<String> getMemberNames (){
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery("SELECT Name FROM Members",null);
        ArrayList<String> result = new ArrayList<>();
        while (cursor.moveToNext()) {
            result.add(cursor.getString(0));
        }
        cursor.close();
        return result;
    }

}

 

먼저 New > Java class 생성을 통해 아래와 같이 SQLiteHelper.java 파일을 생성해줍니다. 데이터베이스 생성 및 관리를 도와주는 SQLiteOpenHelper 클래스를 상속을 받습니다.

SQLiteOpenHelper를 상속받으면, 생성메서드와 앱이 최초 설치 시 실행 될실행될 onCreate 메서드와 업데이트 시 실행될 onUpgrade 메서드를 정의를 해줘야 합니다.

아래의 예제와 같이 앱 설치 시, mytestgo.db라는 데이터 베이스를 만들고 Members라는 테이블을 만들고 테스트를 위해 3개의 데이터를  Insert를 하였습니다.

그리고 Cursor 인터페이스를 이용해서, "SELECT Name FROM Members;" 쿼리를 날려 저장되어 있는 이름 데이터를 리스트로 리턴 받아오는 getMembersName이라는 메서드도 테스트를 위해 생성을 하였습니다.

 

MainActivity.java

public class MainActivity extends AppCompatActivity {

    SQLiteHelper sqLiteHelper;
    TextView textView;

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

        sqLiteHelper = new SQLiteHelper(this);
        ArrayList<String> nameList = sqLiteHelper.getMemberNames();

        textView = findViewById(R.id.mainTextView);
        textView.setText(nameList.toString());

    }
}

 

MainActivity에서는 위에서 생성한 sqLiteHelper를 로드하고 getMemberNames 메서드를 호출하여 전체 멤버 이름을 textview에 보여주는 간단한 예제를 작성합니다.

 

activity_main.xml

레이아웃은 간략히 TextView만 추가를 해줍니다.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/backGrey"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/mainTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:ignore="MissingConstraints" />

</androidx.constraintlayout.widget.ConstraintLayout>

 

앱을 실행해보면 아래와 같이 3명의 멤버의 이름이 조회되는 것을 확인할 수 있습니다.

실행결과
실행결과

 

안드로이드 스튜디오 DB 조회 및 검수

아주 간단하게 안드로이드 SQLite DB를 연동하고 Select문을 통해 데이터를 조회해서 가져와 보여주는 간략한 예제를 작성을 하였는데, 이제 안드로이드 스튜디오에서 DB에 접속해서 쿼리를 날리거나 테이블이나 데이터를 확인하기 위해 사용하는 App Inspection 기능을 사용해보도록 하겠습니다.

Android Studio의 App Inspection 기능을 활용하여, 안드로이드 앱의 SQLite DB 테이블 리스트를 확인하고, 실제 데이터를 조회하거나 여러 Select / Insert / Update / Delete 등 DML 쿼리를 날려서 데이터를 조회하거나 추가/수정/삭제를 할 수 있습니다.

먼저 안드로이드 스튜디오에서 어플이 실행이 된 상태에서 하단에 App Inspection탭을 클릭합니다. 해당 탭이 없다면, View > Tool Windows에서 App Inspection을 추가합니다.

App Inspection 추가
App Inspection 추가

 

App Inspection탭에서 현재 실행되고 있는 device와 애플리케이션을 선택되어 있는지 확인 후, Database Inspector탭에서 해당 데이터베이스에 테이블 리스트와 각 테이블의 컬럼과 데이터를 확인할 수 있습니다.

테이블 리스트 및 테이블 데이터 조회
테이블 리스트 및 테이블 데이터 조회

 

데이터베이스 상단 New Query 버튼을 클릭하면 쿼리를 작성할 수 있는 탭이 나오고, 쿼리를 작성하고 Run을 눌러서 여러 쿼리를 실행하고 결과를 확인할 수 있습니다.

쿼리실행
쿼리 실행

반응형

댓글