您的位置:首页 > 移动开发 > Android开发

Android中的sqlite简单示例

2016-04-11 11:19 483 查看

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);
}
}


这个比较简单,在此就不截图了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android sqlite 数据