Android에는 변경된 데이터베이스 스키마를 처리하는 데 사용할 수 있는 기능이 있으며, 대부분 SQLiteOpenHelper 클래스를 사용하는 데 달려 있습니다. 이 튜토리얼에 대한 안드로이드 스튜디오를 사용하는 경우, 당신은 안드로이드 스튜디오가 이미 해당 레이아웃 파일과 함께 우리를 위해 기본 MainActivity 클래스를 만든 것을 알 수 있습니다. RecyclerView 위젯은 어댑터를 사용하여 Sqlite 데이터베이스의 데이터 원본을 각 목록 항목에 바인딩합니다. 불완전한 튜토리얼.. 일부 파일이 누락되었습니다. 소스 코드에 대한 링크하시기 바랍니다.. SQLite는 장치의 텍스트 파일에 데이터를 저장하는 오픈 소스 SQL 데이터베이스입니다. 안드로이드는 SQLite 데이터베이스 구현에 내장되어 있습니다. Android SDK에는 테이블 내용을 탐색하고 SQL 명령을 실행하고 SQLite 데이터베이스에서 다른 유용한 기능을 수행할 수 있는 sqlite3 셸 도구가 포함되어 있습니다.

자세한 내용은 셸 명령을 발급하는 방법을 참조하세요. 이봐 WHEn 나는 삭제 버튼을 클릭하고 업데이트 버튼은 널 포인터 예외 로그를 보여줍니다 : 프로세스 : com.example.shubham.dataapp, PID : 29445 자바.lang.lang.NullPointerException 에서 com.example.shubham.dataapp.ModifyCountryActivity.onClick 수정CountryActivity.java:60) 에서 android.view.view.performClick (View.java:4508) 에서 android.view$PerformClick.run (View.java:18675) 에서 android.os.handler.handler.handleCallback (Handler.java:733) android.os.handler.dispatchMessage (733) Handler.java:95) 에서 android.os.Looper.loop (Looper.java:136) 에서 android.app.ActivityThread.main (ActivityThread.java:5584) 에서 자바.lang.reflect.Method.invokeNative (네이티브 메서드) 에서 자바.lang.reflect.Method.invoke (방법.java:515) com.android.internal.os.ZygoteInit$방법AndArgsCaller.run (ZygoteInit.java:1268) com.android.internal.os.zygoteInit.main (ZygoteInit.java:1084) dalvik.system.NativeStart.main (네이티브 방법) 내부 저장소, 안드로이드는 우리의 응용 프로그램에 연결된 개인 디스크 공간에 우리의 데이터베이스를 저장하고 데이터는 기본적으로이 영역은 다른 응용 프로그램에 액세스 할 수 없기 때문에, 안전합니다. 패키지 com.tutlane.sqliteexample; android.content.ContentValues 가져오기; android.content.Context 가져오기; 가져 오기 android.database.Cursor; 가져 오기 android.database.sqlite.SQLite데이터베이스; 가져 오기 android.database.sqlite.SQLiteOpenHelper; 가져오기 자바.util.ArrayList; 가져오기 자바.util.HashMap; /** * 06-01-2018에 tutlane에 의해 만들어졌습니다. */ 공용 클래스 DbHandler 확장 SQLiteOpenHelper { 개인 정적 최종 INT DB_VERSION = 1; 개인 정적 최종 문자열 DB_NAME = “usersdb”; 개인 정적 최종 문자열 TABLE_Users = “사용자 세부 정보”; 개인 정적 최종 문자열 KEY_ID = “ID”; 개인 정적 정적 정적 정적 최종 문자열 KEY_NAME = “name”; 개인 정적 최종 문자열 KEY_LOC = “위치”; 개인 정적 최종 문자열 KEY_DESG = “지정”; public DbHandler (컨텍스트 컨텍스트){ 슈퍼 (컨텍스트, DB_NAME, null, DB_VERSION); } @Override 공용 void onCreate (SQLiteDatabase db){ 문자열 CREATE_TABLE = “테이블 만들기 ” + TABLE_Users + “(“”+KEY_ID + “정수 기본 키 자동 입력” + + KEY_NAME + “TEXT” + + + KEY_LOC + “텍스트”, + KEY_DESG + “텍스트”+ “)”; db.execSQL(CREATE_TABLE); } @Override 공용 void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion){ // 이전 테이블을 드롭 하는 경우 db.execSQL (“드롭 테이블 존재 하는 경우 ” + TABLE_Users); 에 테이블을 다시 만들기만들기 만들기 (db); } // **** CRUD (만들기, 읽기, 업데이트, 삭제) 작업 ***** // // 새 사용자 세부 사항 추가 void 사용자 세부 사항 (문자열 이름, 문자열 위치, 문자열 지정){ //쓰기 모드에서 데이터 리포지토리 가져오기 SQLiteDatabase db = this.getWritableDatabase (); 열 이름이 키인 값의 새 맵을 만듭니다. cValues.put(KEY_NAME, 이름); cValues.put(KEY_LOC, 위치); cValues.put (KEY_DESG, 지정); 새 행을 삽입하여 새 행 long newRowId = db.insert(TABLE_Users, null, cValues)의 기본 키 값을 반환합니다. db.close(); } // 사용자 세부 정보 가져오기 공개 ArrayList<HashMap> GetUsers() { SQLiteDatabase db = this.getWritableDatabase(); ArrayList<HashMap> 사용자 목록 = 새 ArrayList<<<(); 문자열 쿼리 = "선택 이름, 위치, 에서 지정 "+ TABLE_Users; 커서 커서 = db.rawQuery(쿼리, null); 동안 (cursor.moveToNext(){HashMap 사용자 = 새로운 HashMap<<);; user.put(“이름”), cursor.getColumnIndex(cursor.getColumnIndex(KEY_NAME))); user.put(“지정”,cursor.getColumnIndex(KEY_DESG)) 위치”, 커서.getString(커서.getColumnIndex(KEY_LOC))); userList.add(사용자); } 사용자 목록을 반환; } // 사용 가능한 공용 배열리스트<HashMap> GetUserById(int userid){ SQLiteDatabase db = this.getWritableDatabase()를 기반으로 사용자 세부 정보 가져오기; ArrayList<HashMap> 사용자 목록 = 새 ArrayList<<<(); 문자열 쿼리 = "선택 이름, 위치, 에서 지정 "+ TABLE_Users; 커서 커서 = db.query(TABLE_Users, 새 문자열[]{KEY_NAME, KEY_LOC, KEY_DESG}, KEY_ID+ "=?",새 문자열[]{String.valueOf(userid)}}, null, null, null,

Read all articles in Uncategorized