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); } }
这个比较简单,在此就不截图了。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories