Android Tutorial (Kotlin) – 31 – Read Delete and update SQlite Database Records

안녕 모두, 이 CodeAndroid에서 인 Vignesh입니다 지난 튜토리얼에서 우리는 SQLite 데이터베이스를 만들었습니다 우리는 삽입했다 이 비디오에서 볼 수 있습니다, 어떻게 레코드를 읽고, 삭제하고 업데이트합니다 DB를 (데이터베이스)에서 있는 LinearLayout 추가 삽입 양식의 레이아웃 아래 작업을 할 우리는 3 버튼이 필요 그래서 3로 "weightSum"로 설정 "match_parent"로 폭의 버튼을 추가 높이 "wrap_content"로 "1"로 가중치를 할당 와 같은 ID 설정 "btn_read" "읽기"로 설정 텍스트 키보드의 코드를 눌러 "CTRL + D"를 선택 ID를 변경하는 것 "btn_update" 그리고 "업데이트"와 같은 텍스트 ID를 변경하는 것 "btn_update" 및 "삭제"와 같은 텍스트입니다

우리는있는 LinearLayout에 대한 3로 "weightSum"가 내부 버튼 1로 가중치가있는 그래서 모든 버튼은 동일한 폭을 얻을 것이다 결과를 표시합니다 있는 ScrollView를 추가 "match_parent"로 "match_parent"및 높이와 폭 제어 버튼 레이아웃에서 유지 텍스트 뷰 내부 와 "tvResult"로 지정 개방 데이터베이스 핸들러 파일 함수를 작성되는 readData 이는 "사용자"개체의 MutableList를 반환합니다 MutableList를 레이팅하고 목록을 반환 우리는 ArrayList를 사용하여 목록을 초기화 할 필요가 여기에 우리는 DB의 데이터 (데이터베이스)를 읽으려고하고있다 그래서 reableDatabase을 받고 우리가 사용하는 데 필요한 모든 데이터를 얻을 수 있습니다 쿼리로 "이 SELECT * FROM tablename" 우리는 rawQuery를 사용하여 쿼리를 실행하는 경우 우리는 커서 객체를 얻을 것이다 이것은 DB에서 읽은 모든 데이터의를해야합니다 우리는 () 커서 및 데이터베이스 사용하여 주변을 닫아야합니다 그 사이에, 우리는 커서에서 모든 데이터의 읽기해야합니다 moveToFirst ()가 반환합니다 "true"로 커서가 null이 아니고이어야 하나 개의 값이있는 경우

에서는 dowhile 루프를 사용하여 내부에서 우리는 값을 읽을 필요가있다 내부 루프는 사용자 객체를 생성 우리는 빈 생성자가 없습니다 그래서를 작성 우리는 1 열로 ID를 가지고 그러나 지수는 0에서 시작됩니다 그래서 ID를 0으로 인덱스를 제공 문자열을 변환하는 단계) (toInt를 사용하여 정수로 유사 이름과 나이를 설정 인덱스 1과 2에서

우리는 적절한 인덱스를 모르는 경우 우리는 방법을 사용하여 인덱스를 얻을 수 있습니다 columnName를 전달하여 getColumnIndex 이 방법으로 인덱스를 교체 추가 사용하여 목록에 사용자 개체를 추가합니다 () 열린 MainActivitykt btn_read에 대한 OnClickListener를 설정 우리가 DatabaseHandler의 객체가 필요)되어, readData를 (호출 그래서 최상위 수준이 이동 ()를 호출되어, readData 핸들러 객체를 사용 빈 첫째로 결과 텍스트를 설정

이제 루프를 사용하여 데이터를 루핑 및 tvResult 텍스트 뷰에 객체를 추가 루프에서는 0을 반복 할 필요가 (크기 -1) 의 응용 프로그램을 실행하자 우리는 텍스트 뷰에 데이터를 얻고있다 사용자 속성 사이에 공백을 추가 함수를 생성 deleteDate writableDatabase를 가져오고 DB 연결을 닫는 우리가 호출 할 필요가 기록을 삭제하려면 연결 개체에 () 삭제 여기에 우리는 3 개 개의 매개 변수를 전달해야 TABLENAME, whereclass 및 값 "COL_ID"1 등으로 행을 삭제 우리는 여러 레코드를 삭제하려면 우리는) (arrayOf 내부의 모든 ID의의를 통과해야 )합니다 (중복되는 readData , 반환 형식 및 제거 목록 또한 writableDatabase를 얻을 수 이 메서드를 호출에, 우리는 1 세를 증가거야 그래서 우리는 모든 데이터를 읽을 필요, 대신의 목록에 추가 우리는 나이를 업데이트해야 db

update () 우리는 4 개 매개 변수를 전달해야하는 내부 TABLENAME, contentValues, whereClass 가치 [] 나이와 contentValues를 작성 여기에 이력서를 전달합니다 여기에 내가 ID와 이름과 일치하고있다 ID와 이름 값을 전달합니다 btn_update에 대한 OnClickListener를 설정 및 () 때문에 updateData를 호출 또한 프로그래밍 btn_read 버튼을 클릭 마찬가지로 btn_delete에 대한 OnClickListener를 설정 등) (deleteData를 호출 또한 프로그래밍 btn_read 버튼을 클릭 의 코드를 실행하자

새 행을 삽입 클릭 "읽기" 결과는 데이터를 받고있다 일어나고 업데이트 아무것도 클릭 미안 해요, 난 값을 증가하는 것을 잊었다 의 코드를 실행하자 당신은 업데이트의 클릭에 볼 수 있습니다 모든 기록의 나이가 1 씩 증가 삭제의 onclick을 1과 ID가 기록 제거 우리가 통과하는 데 필요한 모든 기록을 삭제하려면 whereClass 같은 널 및 널 값 [] 의 코드를 실행하자 삭제 버튼의 클릭에 모든 레코드가 제거됩니다 클릭 확인 "읽기" 아무것도 일어나고 모든 기록은 DB에서 제거되기 때문에 즉,이 튜토리얼들에 대한 모든입니다 이 동영상이 마음 엄지 손가락을주십시오 당신이 의심이있는 경우, 코멘트 섹션에 넣어주세요, 나는 그것을 대답하려고합니다 당신은에 어떤 튜토리얼이 필요 또한이 "안드로이드" 내가 코멘트 섹션에 알려 나는 그렇게하려고합니다 너가 좋아하길 바래 나는 나의 다음 비디오에서 당신을 볼 것이다 좋은 하루 되세요"

Android Tutorial (Kotlin) – 30 – SQLite Database Creation and Insertion

안녕 모두, 이 CodeAndroid에서 인 Vignesh입니다 이 비디오에 대해 볼 수 있습니다 SQLite 데이터베이스 만들기 및 삽입 우리는 거대한 데이터를 저장하려면 우리는 어떤 검색을 할 필요가 또는 우리는 SQLite 데이터베이스를 사용할 필요가 단락 안드로이드는 기본적으로 SQLite 데이터베이스를 지원합니다 이것을 사용하기 위해 우리는 다른 라이브러리를 추가 할 필요가 없습니다 이를 증명하기 위해, 나는 새로운 응용 프로그램을 작성하고 즉 SqliteExample 기본 구성 이 예에서, 나는에 이름과 나이를 저장하기 위하여려고하고있다 SQLite 데이터베이스 열기 "activity_mainxml" 있는 LinearLayout에 대한 루트 레이아웃으로 변경 수직으로 방향을 추가 루트 레이아웃 안에 뷰를 제거 또 하나의 LinearLayout 만들기 내부 "wrap_content"로 "match_parent"및 높이와 폭 이름에 대한 글고 추가 마진과 패딩 10dp와 "etvName"로 ID를 할당 글고 치기를 복제 코드 및 보도를 선택하여 키보드에서 CTRL + d를 LinearLayout을 수직 방향으로 추가 etvAge으로서 제 2의 EditText ID를 변경 나이는 숫자 여야합니다 그래서 숫자로 inputType 설정 , A 버튼을 추가 이것의 클릭에 있도록, 우리는 데이터베이스에 입력 된 데이터를 삽입 할 수 있습니다 설정 마진과 패딩 10dp "btn_insert"등의 삽입으로 텍스트와 할당 ID 새로운 코 틀린 파일 만들기 사용자 개체의 구조를 정의하는 클래스 사용자 ID, 이름과 나이 속성을 추가 매개 변수와 같은 이름을 가진 생성자와 시대를 만들 우리는 단일 라인 자체에서 사용자 개체를 만들 수 있도록 속성 값과 같은 파라미터를 설정할 데이터베이스 작업을 처리하기 위해, 우리는 핸들러 클래스가 필요 그래서 코 틀린 파일을 만듭니다 우리는 같은 몇 가지 값이 필요합니다 데이터베이스 이름, 테이블 이름, 열 이름 등 이들 변수를 작성

파일 이름과 동일 핸들러 클래스 만들기 파라미터로서 컨텍스트 그리고, 그것은 SQLiteOpenHelper 클래스를 확장 우리는 4 개 매개 변수를 전달해야하는 내부 문맥, 데이터베이스 이름, CursorFactory 및 데이터베이스 버전 우리는 CursorFactory를 사용하지 않을 그래서 널 여기 전달합니다 1로 버전을주기 우리는 ()에서 onCreate를 구현해야 및 기본 클래스에서 onUpgrade () 이에서 onCreate ()가 실행됩니다 장치는 데이터베이스를 포함하지 않는 경우 그래서 우리는 여기에 필요한 테이블을 작성해야 여기에 나는 필드와 ID, 이름, 나이 테이블을 만드는 오전 우리가에는 ExecSQL를 사용할 필요가 쿼리를 실행하기 위해 () 우리는 쿼리 문자열을 전달해야 내부 onUpgrade ()가 실행되며, 우리는 데이터베이스의 이전 버전이있는 경우 당신은 oldVersion 및 CurrentVersion을 얻을 것이다 이 방법 자체 이 사용하는 우리는 그에 따라 테이블 구조를 업그레이드해야 함수 insertData () 사용자 개체를 삽입 할 만들기 의 SQLiteDatabase 객체의 두 가지 유형이있다가 있습니다 있습니다, 1ReadableDatabase 2WritableDatabase 여기에서 우리는 데이터베이스에 데이터를 쓰기 위하여려고하고있다 그래서 WritableDatabse를 얻을 수 데이터베이스에 삽입하려면 우리는 ConventValues ​​필요 그래서, ConventValues를 만들 우리는 우리의 가치를 둘 필요가 내부 cv

put "COL_NAME"username 저장해야합니다 cvput "COL_AGE"userage 저장해야합니다 이제 우리는이 ConventValues을 삽입해야 dbinsert () 우리는 3 개 개의 매개 변수를 전달해야 내부 TABLE_NAME, 널 (null) 및 ConventValues 두 번째 매개 변수는 문자열입니다 우리는 여기서 어떤 열 이름을 통과해야 그래야 "NULL"해당 컬럼에 저장됩니다 우리는 어떤 널 열 필요가 없습니다 그래서 우리는 두 번째 매개 변수로 null을 전달하는 이 삽입 () ROWID를 반환합니다 결과가 -1 다음 일부 오류가 발생한다 그래서 토스트를 보여주는 "실패"로 그렇지 않으면 "성공"으로 토스트를 보여주는 열기 "MainActivity

kt" "btn_insert"을위한 온 클릭 리스너를 설정 이름과 나이 길이> 0 인 경우 우리는 데이터베이스에 데이터를 삽입해야 그렇지 않으면 오류 토스트를 보여주는 그렇지 않으면 오류 토스트를 보여주는 생성자 내부에 입력 된 값을 전달하여 및 "사용자"라는 변수로 저장 헬퍼 클래스의 객체를 생성 사용하여 우리가 초기에 생성이 호출 insertData () 의 응용 프로그램을 실행하자 데이터를 입력 우리가 "성공"으로 축배를 얻고있다 "삽입"버튼을 클릭 어떤 데이터가 성공적으로 삽입 의미 다음 튜토리얼에서 검색하는 방법을 볼 수 있습니다 업데이트 및 데이터베이스에서 레코드를 삭제 즉,이 튜토리얼들에 대한 모든입니다 당신이 비디오를 좋아하는 경우에, 엄지 손가락주세요 당신이 의심이있는 경우, 주석 섹션에 넣어주십시오 나는 그것을 대답하려고합니다 너가 좋아하길 바래 나는 나의 다음 비디오에서 당신을 볼 것이다 좋은 하루 되세요"