Android中的sqlite简单示例
Android中的sqlite比较简单,只需写一个BDHelper继承SQLiteOpenHelper 类,DBManager管理类,再写一个数据类,在此我写的是已PolePoint作为数据类。
首先是PolePoint类:
public class PolePoint{
/**
*
*/
public int _id;
public String PoleId;
public String PoleAdress;
public PolePoint(){
}
public PolePoint(String poleId,String poleAddress){
this.PoleId = poleId;
this.PoleAdress = poleAddress;
}
}
然后是BDHelper类
public class DBHelper extends SQLiteOpenHelper{
private static final String DATABASE_NAME = "test.db";
private static final int DATABASE_VERSION = 1;
public DBHelper(Context context){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table if not exists polepoint"+
"(_id integer,PoleId varchar,PoleAdress varchar)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("ALTER TABLE person ADD COLUMN other STRING");
}
再就是DBManager类
public class DBManager {
private DBHelper helper;
private SQLiteDatabase db;
public DBManager(Context context){
helper = new DBHelper(context);
db = helper.getWritableDatabase();
}
public void add(List<PolePoint> list){
db.beginTransaction();
try {
for (PolePoint pp:list) {
db.execSQL("insert into polepoint values(null,?,?)",new Object[]{pp.PoleId,pp.PoleAdress});
}
db.setTransactionSuccessful();
} catch (Exception e) {
// TODO: handle exception
}finally{
db.endTransaction();
}
}
// public void updateAdress(PolePoint pp){
// ContentValues cv = new ContentValues();
// cv.put("PoleId", pp.PoleId);
// db.update("polepoint", cv, "PoleAdress = ?", new String[]{pp.PoleAdress});
// }
// public void deleteOldPerson(Person person){
// db.delete("person", "age>=?", new String[]{String.valueOf(person.age)});
//
// }
public List<PolePoint> query(){
ArrayList<PolePoint>persons = new ArrayList<PolePoint>();
Cursor c = queryTheCursor();
while (c.moveToNext()) {
PolePoint pp = new PolePoint();
pp._id = c.getInt(c.getColumnIndex("_id"));
pp.PoleId = c.getString(c.getColumnIndex("PoleId"));
pp.PoleAdress = c.getString(c.getColumnIndex("PoleAdress"));
persons.add(pp);
}
c.close();
return persons;
}
public Cursor queryTheCursor(){
Cursor c = db.rawQuery("select * from polepoint", null);
return c;
}
void closeDB(){
db.close();
}
}
最后是MainActivity
public class MainActivity extends Activity {
private DBManager mgr;
ConnectServerIml iml;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mgr = new DBManager(this);
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
mgr.closeDB();
}
public void add(View view)
{
ArrayList<Person> persons = new ArrayList<Person>();
//这里我用的是网上的数据
// new Thread(new Runnable() {
//
// @Override
// public void run() {
// // TODO Auto-generated method stub
// String url = ShareData.CHARGE_SEARCH;
// iml = new ConnectServerIml();
// String result = iml.ConcernByClientGet(url);
// ArrayList<PolePoint>list = JsonParse.search(result);
// mgr.add(list);
// }
// }).start();
PolePoint pp1= new PolePoint ("009c067b-b044-49df-84e4-70d66566c8a1", "琴台大道附近");
PolePoint pp2= new PolePoint ("013be44f-194e-464a-8e3e-307380c767cb", "航空路15附66附近");
persons.add(pp1);
persons.add(pp2);
// mgr.add(persons);
}
public void query(View view){
List<PolePoint>list = mgr.query();
for (PolePoint pp:list) {
Log.i("Name and Age", pp.PoleId+","+pp.PoleAdress);
}
}
这个比较简单,在此就不截图了。