Android SQLite實現物件導向CRUD

2021-09-07 06:07:30 字數 3242 閱讀 3856

android中sqlite的使用,事實上倒也不難。可是與jdbc運算元據庫相比,這個還是有點不順手,並且我好久沒寫底層的封裝了,使用ssm框架這些都不須要考慮......好了,廢話不多說。以下直接建立乙個測試project來試試sqlite在android中的應用吧。

1、新建乙個project

2、配置junit測試環境

3、源**

關於在android中怎樣使用sqlite的文章非常多,我也是參考那些文章進行學習的。

這樣乙個繼承sqliteopenhelper的類主要就這麼幾個功能:

a.建立資料庫和表

b.假設資料庫有不同版本號那麼就會更新資料庫

c.呼叫的這個類的物件來取得資料庫的讀寫許可權

package com.example.db;

import android.content.context;

import android.database.sqlite.sqlitedatabase;

import android.database.sqlite.sqliteopenhelper;

public class dbhelper extends sqliteopenhelper

// 資料庫第一次被建立時oncreate會被呼叫

@override

public void oncreate(sqlitedatabase db)

// 假設database_version值被改為2,系統發現現有資料庫版本號不同,即會呼叫onupgrade

@override

public void onupgrade(sqlitedatabase db, int oldversion, int newversion)

}

能夠看到上面建立了乙個叫test.db的資料庫。當中有乙個表person,表中有三個字段:主鍵-id。姓名-name,性別-***。

以下生成這個表相應的實體類:

package com.example.pojo;

public class person

public void setid(int id)

public string getname()

public void setname(string name)

public string get***()

public void set***(string ***)

@override

public string tostring()

}

我們要實現crud操作,那麼建乙個介面定義crud方法:

package com.example.dao;

import com.example.pojo.person;

public inte***ce ipersondao

以下要實現ipersondao介面。定義詳細的業務方法:

package com.example.dao.impl;

import android.content.context;

import android.database.cursor;

import android.database.sqlite.sqlitedatabase;

import com.example.dao.ipersondao;

import com.example.db.dbhelper;

import com.example.pojo.person;

public class persondaoimpl implements ipersondao

@override

public boolean insert(person person) );

flag = true;

} catch (exception e) finally

} return flag;

} @override

public boolean delete(int id) );

flag = true;

} catch (exception e) finally

} return flag;

} @override

public boolean update(person person) );

flag = true;

} catch (exception e) finally

} return flag;

} @override

public person select(int id) );

while(cursor.movetonext())

} catch (exception e) finally

} return person; }

}

以上完畢之後就能夠開始單元測試了。綠色......

package com.example.test;

import com.example.dao.ipersondao;

import com.example.dao.impl.persondaoimpl;

import com.example.pojo.person;

import android.test.androidtestcase;

import android.util.log;

public class test extends androidtestcase

public void selectdb()

public void updatedb()

public void deletedb()

}

匯出test.db檔案。在sqlite expert中開啟:

android sqlite基本操作

package com.xiangqiao.sqlite3 import android.content.contentvalues import android.database.cursor import android.database.sqlite.sqlitedatabase import...

關於Android SQLite詳細

一 sqlite簡介 在android平台上,整合了乙個嵌入式關係型資料庫 sqlite,sqlite3支援 null integer real 浮點數字 text 字串文字 和blob 二進位制物件 資料型別,雖然它支援的型別雖然只有五種,但實際上sqlite3也接受varchar n char ...

Android SQlite效能優化

dec 13th,2015 資料庫是應用開發中常用的技術,在android應用中也不例外。android預設使用了sqlite資料庫,在應用程式開發中,我們使用最多的無外乎增刪改查。縱使操作簡單,也有可能出現查詢資料緩慢,插入資料耗時等情況,如果出現了這種問題,我們就需要考慮對資料庫操作進行優化了。...