cmd 창 에서 android 의 sqlite 3 데이터베이스 테이블 을 조회 하 는 절차
6118 단어 android
1. 첫 번 째 단계: 먼저 프로그램 을 작성 합 니 다.
1.1. MainActivity 클래스 를 만 듭 니 다. 코드 는 다음 과 같 습 니 다.
package com.example.datastorege.action;
import com.example.datastorege.R;
import com.example.datastorege.R.layout;
import com.example.datastorege.R.menu;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
1.2. SQLiteOpenHelperImpl 클래스 를 만 듭 니 다. 이 클래스 는 SQLiteOpenHelper 클래스 를 계승 하 는 것 입 니 다. SQLiteOpenHelperImpl 의 주요 역할 은 만 든 DB, DB 의 버 전 번 호 를 SQLiteOpenHelper 를 통 해 실현 하 는 동시에 EmployeDao 에서 db 대상 을 가 져 와 sqlite 3 의 employee 표를 조작 할 수 있 습 니 다. 코드 는 다음 과 같 습 니 다.
package com.example.datastorege.dao;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class SQLiteOpenHelperImpl extends SQLiteOpenHelper{
private static final String TAG="EmployeeDaoJunit";
private static final int DB_VERSION=1;
private static final String DB_NAME="testDb.db";
private static final String SQL_TABLE_NAME="create table employee(id INTEGER PRIMARY KEY,empName varchar(30),sex int);";
public SQLiteOpenHelperImpl(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(SQL_TABLE_NAME);
Log.i(TAG, "execSQL successful");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
1.3. sqlite 3 를 조작 하 는 dao 류 - EmployeeDao 를 만 듭 니 다. 이 종 류 는 주로 sqlite 3 에서 testDb. db 데이터 베 이 스 를 조작 하 는 것 입 니 다. 코드 는 다음 과 같 습 니 다.
package com.example.datastorege.dao;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.example.datastorege.model.Employee;
public class EmployeeDao {
private SQLiteOpenHelperImpl helper;
private SQLiteDatabase db;
public EmployeeDao(Context context){
helper=new SQLiteOpenHelperImpl(context);
}
public void insert(Employee emp){
db=helper.getWritableDatabase();
db.execSQL("insert into employee values(?,?,?)", new Object[]{emp.getId(),emp.getEmpName(),emp.getSex()});
}
public void update(Employee emp){
db=helper.getWritableDatabase();
db.execSQL("update employee set empName=?,sex=? where id=?",new Object[]{emp.getEmpName(),emp.getSex(),emp.getId()});
}
public void delete(int id){
db=helper.getWritableDatabase();
db.execSQL("delete from employee where id=?", new Object[]{id});
}
public Employee queryBeanById(int id){
Employee emp=null;
db=helper.getWritableDatabase();
Cursor cursor=db.rawQuery("",new String[]{});
if(cursor.moveToNext()){
emp=new Employee();
emp.setEmpName(cursor.getString(cursor.getColumnIndex("empName")));
emp.setSex(cursor.getInt(cursor.getColumnIndex("sex")));
return emp;
}
return null;
}
}
1.4, 실체 bean 을 만 듭 니 다.
package com.example.datastorege.model;
public class Employee {
private int id;
private String empName;
private int sex;
public Employee(){};
public Employee(int id,String empName,int sex){
this.id=id;
this.empName=empName;
this.sex=sex;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
@Override
public String toString() {
return this.id+"--"+this.empName+"--"+this.sex;
}
}
1.5. 안 드 로 이 드 의 준 it 테스트 클래스 를 만 듭 니 다:
package com.example.datastorege;
import com.example.datastorege.dao.EmployeeDao;
import com.example.datastorege.model.Employee;
import android.test.AndroidTestCase;
import android.util.Log;
public class EmployeeDaoJunit extends AndroidTestCase{
private static final String TAG="EmployeeDaoJunit";
public void add(){
EmployeeDao employeeDao=new EmployeeDao(this.getContext());
employeeDao.insert(new Employee(2,"tangfq",1));
Log.i(TAG, "EmployeeDao--->insert");
}
public void delete(){
EmployeeDao employeeDao=new EmployeeDao(this.getContext());
employeeDao.delete(1);
Log.i(TAG, "EmployeeDao--->delete");
}
}
이상 은 쓰 려 는 프로그램 입 니 다. 검색 과 수정 은 테스트 클래스 에 추가 하면 됩 니 다. 작업 은 추가, 삭제 와 유사 합 니 다.
2. 두 번 째 단계: 위 에 쓰 인 프로그램 을 실행 하고 sqlite 3 데이터 베 이 스 를 조작 합 니 다.
2.1 EmployeeDaoJunit 를 실행 합 니 다. 실행 하기 전에 sqlite 3. exe 를 실행 하고 실행 한 후에 EmployeeDaoJunit 를 실행 합 니 다. Junit 가 녹색 을 실행 할 때 쓰기 가 정확 하 다 는 것 을 증명 합 니 다. 이때 실행 중 "cmd" - > adb shell - - > ls - > cd data - - > cd data - > (eclipse 에서 DDMS Pespective 를 열 고 "File Explorer" 를 클릭 합 니 다.보기, data --- > data --- > 당신 의 프로젝트 이름 패키지 경로, 예 를 들 어 나 는 com. example. datastorege) --- > databases - -- > 당신 의 데이터베이스 이름, 나의 데이터 베 이 스 는 testDb. db --- > sqlite 3 testDb. db --- > selectid, emName, sex from employee; --- >작업 한 employee 표 의 결 과 를 표시 합 니 다.
작업 의 절 차 는 위 에서 설명 한 것 입 니 다. 궁금 하거나 잘못된 점 이 있 으 면 메 시 지 를 남 겨 주세요!감사합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.