android怎么连接sqlite数据库?
2015-06-11 20:53
363 查看
SQLite数据库 首先先建立SQLiteOpenHelper()的子类实现SQLiteOpenHelper中的OnCreate()方法和构造方法。 this class takes care of opening the database if it exists, creating it if it does not, and upgrading it as necessary. SQLiteOpenHelper()主要是提供数据库的对象,其中的getWriteableDatabase public class PersonSQLiteOpenHelper extends SQLiteOpenHelper { public PersonSQLiteOpenHelper(Context context) { super(context, "person.db", null, 1); } /** * 第一次被创建的时候调用的方法 */ @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table person(id primary key autoincrement,name varchar(20),number varchar(20)"); } @Override public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { } } 有了SQLiteOpenHelper的子类后,就可建立其引用hrelper,用引用获得数据库db=helper.getWritableDataBase(); Db.execSQL(“select * from table”); 建立与数据库操作相关的类(选择) public class PersonDao { private PersonSQLiteOpenHelper helper; public PersonDao(Context context) { helper = new PersonSQLiteOpenHelper(context); } /** * * @param name * @param number */ public void add(String name, String number) { SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("insert into person(name,number) values(?,?)", new Object[] { name, number }); db.close(); } /** * * @param name * @return */ public boolean find(String name) { SQLiteDatabase db = helper.getReadableDatabase(); Cursor cursor = db.rawQuery("select *from person where name=?", new String[] { name }); boolean result = cursor.moveToNext(); cursor.close(); db.close(); return result; } /** * * @param name * @param number */ public void update(String name, String number) { SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("update person set number=? where name=?", new Object[] { number, name }); db.close(); } /** * * @param name */ public void delete(String name) { SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("delete from person where name=?", new Object[] { name }); db.close(); } /** * * @return */ public List<Person> findAll() { SQLiteDatabase db = helper.getReadableDatabase(); Cursor cursor = db.rawQuery("select *from person", null); ArrayList<Person> list = new ArrayList<Person>(); while (cursor.moveToNext()) { int id = cursor.getInt(cursor.getColumnIndex("id")); String name = cursor.getString(cursor.getColumnIndex("name")); String number = cursor .getString(cursor.getColumnIndex("number")); Person person = new Person(id, name, number); list.add(person); } return list; } } 事物 //开启事物 db.beginTransaction(); try { //标记事物执行成功 db.setTransactionSuccessful(); } finally { db.endTransaction(); }
相关文章推荐
- Android之AES加密
- Android自由选择TextView的文字
- Android用观察者模式代替广播通知刷新界面
- Android---Activity 生命周期(一)start Activity && destroy Activity
- Android内核开发:如何统计系统的启动时间
- Android内核开发:如何统计系统的启动时间
- Android实战简易教程-第十三枪(五大布局研究)
- Android Client and PHP Server
- Android开发之onClick事件的三种写法
- android Canvas 画板 和 OnTouch 事件
- Android耳机线控详解,蓝牙耳机按钮监听(仿酷狗线控效果)
- Android popupwindow 示例程序一
- Android控件篇
- Android开发者的演示工具(真机测试)——asm.jar
- android:Cordova Android, hello Cordova ,PhoneGap android
- Android实现双进程守护
- 关于android模拟器emulator-5554 disconnected错误解决方法
- Android 采用HTML设计界面
- Android系统框架介绍和生命周期介绍
- Android Menu 布局