Android 에서 sqlite 데이터베이스 의 간단 한 사용

요약:모든 프로그램 은 데 이 터 를 사용 해 야 합 니 다.
Android
응용 프로그램 도 예외 가 아니다.
Android
운영 체제 와 무관 한
SQL
데이터베이스
--SQLite
본 고 는 어떻게 당신 을 위해
Android
응용 프로그램 생 성과 조작
SQLite
데이터베이스
데이터 베 이 스 는 모든 응용 프로그램 이 크기 와 상 관 없 이 생명선 을 지원 합 니 다.간단 한 데이터 만 처리 하지 않 는 한 데이터베이스 시스템 이 구조 화 된 데 이 터 를 저장 해 야 합 니 다.Android 는 SQLite 데이터 베 이 스 를 사용 합 니 다.이것 은 오픈 소스 이 고 다 중 운영 체 제 를 지원 하 는 SQL 데이터 베이스 로 여러 분야 에서 널리 사용 되 고 있 습 니 다.예 를 들 어 Mozilla FireFox 는 SQLite 를 사용 하여 설정 데 이 터 를 저장 하고 아이 폰 도 SQLite 를 사용 하여 데 이 터 를 저장 합 니 다.
안 드 로 이 드 에 서 는 어떤 프로그램 을 위 한 데이터 베 이 스 를 만 들 수 있 습 니 다.그것 만 접근 할 수 있 습 니 다.다른 프로그램 은 접근 할 수 없습니다.데이터 베 이 스 는 안 드 로 이 드 장치/data/databases 폴 더 에 있 습 니 다.이 글 에서 안 드 로 이 드 에서 데이터 베 이 스 를 만 들 고 사용 하 는 방법 을 배 울 것 입 니 다.
Android 는 SQLiteOpenHelper 를 어떻게 사용 합 니까?
•1.SQLite OpenHelper•SQLite OpenHelper 는 데이터베이스 생 성과 버 전의 관 리 를 관리 하 는 추상 적 인 클래스 입 니 다.이 를 사용 하려 면 nCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase,int,int)방법 을 실현 해 야 합 니 다.onCreate:데이터 베 이 스 를 처음 만 들 었 을 때 실 행 됩 니 다.예 를 들 어 표를 만 들 고 데 이 터 를 초기 화 하 는 등 입 니 다.onUpgrade:데이터 베 이 스 를 업데이트 해 야 할 때 실행 합 니 다.예 를 들 어 오래된 표를 삭제 하고 새 표를 만 듭 니 다.
2.구현 코드
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
public class DBHelper extends SQLiteOpenHelper 
{    //         private static final int VERSION = 1;    
    //         String sql = "create table if not exists TestUsers"+    "(id int primary key,name varchar,sex varchar)";        
    public DBHelper(Context context, String name, CursorFactory factory, int version) {        super(context, name, factory, version);    }
    public DBHelper(Context context,String name,int version){        this(context,name,null,version);    }       
    public DBHelper(Context context,String name){        this(context,name,VERSION);    }       
    @Override   
    public void onCreate(SQLiteDatabase db) {        db.execSQL(sql);    }  
    @Override    
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {            }    
} 

3.SQLite 사용
•Android 는 데이터베이스 조작 API 를 패키지 한 SQLiteDatabase 라 는 클래스 를 제공 합 니 다.이 를 사용 하면 기본 적 인 CRUD 작업 을 수행 할 수 있 으 며,getWritable Database()와 getReadable Database()를 통 해 데이터베이스 인 스 턴 스 를 얻 을 수 있 습 니 다.
4.구현 코드
   /**
     *        
     * @param dbName
     * @return
     */
    public SQLiteDatabase CreateDatabase(String dbName){
        dbHelper = new DBHelper(this, dbName);
        return dbHelper.getWritableDatabase();
    }
 
/**
     *      
     */
    public void OpenDb(){
        dbHelper = new DBHelper(this, "TestDb01");
        db = dbHelper.getWritableDatabase();
    }
    
    /**
     *      
     */
    public void CloseDb(){
        dbHelper.close();
    } 

/**
     *      
     * @param db
     */
    public void CreateTable(){
        db = dbHelper.getWritableDatabase();
        String sql = "create table if not exists TestUsers"+
                        "(id int primary key,name varchar,sex varchar)";
        try {
            db.execSQL(sql);
        } catch (SQLException e) {
            Log.i("err", "create table failed");
        }
    } 

/**
     *     
     */
    public void InsertTb(){
        db = dbHelper.getWritableDatabase();
        String sql = "insert into TestUsers (id,name,sex) values (2,'hongguang','men')";
        try {
            db.execSQL(sql);
        } catch (SQLException e) {
            Log.i("err", "insert failed");
        }
    } 

/**
     *     
     */
    public void UpdateTb() {
        db = dbHelper.getWritableDatabase();
        String sql = "Update TestUsers set name = 'anhong',sex = 'men' where id = 2";
        try {
            db.execSQL(sql);
        } catch (SQLException e) {
            Log.i("err", "update failed");
        }
    } 

 /**
     *     
     */
    public void DeleteTb(){
        db = dbHelper.getWritableDatabase();
        String sql = "delete from TestUsers where id = 2";
        try {
            db.execSQL(sql);
        } catch (SQLException e) {
            Log.i("err", "delete failed");
        }
    } 


5.일부 SQLite 작업 명령
•5.1 adb 셸 명령 모드 진입
•5.2 cd 파일 이름 입력 파일
•5.3 ls 또는 ls-l 디 렉 터 리 에 있 는 파일 보기
•5.4 sqlite 3 데이터베이스 이름 데이터베이스 진입
•5.5.schema 데이터베이스 에 있 는 정보 보기
•5.6 ctrl+d sqlite 모드 종료

좋은 웹페이지 즐겨찾기