Android中的sqlite简单示例
16lz
2021-12-04
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 中通过 aidl 传递map对象
- Android(安卓)View添加 Listener 小技巧示例
- Android(安卓)Jni示例
- Android(安卓)studio 连接数据库小经历遇到的问题以及解决方法(ja
- Android(安卓)中文 API (102)—— CursorAdapter
- 从零开始学习android
- 【Android】入门级连接网络示例: 网页浏览和播放网络MP3
- Android(安卓)adb获取屏幕分辨率
- Android数据的四种存储方式SharedPreferences、SQLite、Content