public class Person { private int id; private String name; private String tel; public Person() { } public Person(int id, String name, String tel) { this.id = id; this.name = name; this.tel = tel; } public String toString() { return "Person [id=" + id + ", name=" + name + ", tel=" + tel + "]"; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } }
========================================================================================================================================public class PersonSQLiteOpenHelper extends SQLiteOpenHelper { /** * 数据库的构造方法 用来定义数据库的名称 数据库查询的结果集 数据库的版本 * * @param context */ public PersonSQLiteOpenHelper(Context context) { super(context, "person.db", null, 1); // TODO Auto-generated constructor stub } /** * 数据库第一次被创建的时候调用的方法 * * @param db 被创建的数据库 * */ @Override public void onCreate(SQLiteDatabase db) { // 初始化数据库的表结构 db.execSQL("create table person( id integer primary key autoincrement,name varchar(20),tel varchar(20))"); } /** * 数据库的版本号发生变化(增加)的时候调用 */ @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub db.execSQL("alter table person add account varchar(20)"); } }
==========================================================================================================================================public class PersonDao { private PersonSQLiteOpenHelper helper; /** * 在构造方法里面完成helper的初始化 * @param context */ public PersonDao2(Context context) { helper = new PersonSQLiteOpenHelper(context); } /** * 添加一条数据到数据库 * @param name 姓名 * @param tel 电话 */ public long insert(String name,String tel){ SQLiteDatabase db = helper.getWritableDatabase(); //db.execSQL("insert into person(name,tel) values (?,?)", new Object[]{name,tel}); ContentValues values = new ContentValues(); values.put("name", name); values.put("tel", tel); long id = db.insert("person", null, values); db.close(); return id; } /** * 查询记录是否存在 * @param name 姓名 * @return true 存在 false 不存在 */ public boolean select(String name){ SQLiteDatabase db = helper.getReadableDatabase(); //Cursor cursor = db.rawQuery("select name,tel from person where name=?", new String[]{name}); Cursor cursor = db.query("person", null, "name=?", new String[]{name}, null, null, null); boolean result = cursor.moveToNext(); cursor.close(); db.close(); return result; } /** * 查询数据库所有数据 * @return List<Person> */ public List<Person> selectAll(){ SQLiteDatabase db = helper.getReadableDatabase(); List<Person> persons = new ArrayList<Person>(); //Cursor cursor = db.rawQuery("select * from person",null); Cursor cursor = db.query("person", new String[]{"id","name","tel"}, null, null, null, null, null); while (cursor.moveToNext()) { int id = cursor.getInt(cursor.getColumnIndex("id")); String name =cursor.getString(cursor.getColumnIndex("name")); String tel=cursor.getString(cursor.getColumnIndex("tel")); Person person=new Person(id, name, tel); persons.add(person); } cursor.close(); db.close(); return persons; } /** * 修改一条记录 * @param name 要修改的人的姓名 * @param newTel 新的号码 */ public int update(String name,String newTel) { SQLiteDatabase db = helper.getWritableDatabase(); //db.execSQL("update person set tel=? where name=?", new Object[]{newTel,name}); ContentValues values = new ContentValues(); values.put("tel", newTel); int number = db.update("person", values, "name=?",new String[]{name}); db.close(); return number; } /** * 删除一条记录 * @param name */ public int delete(String name){ SQLiteDatabase db = helper.getWritableDatabase(); //db.execSQL("delete from person where name=?", new Object[]{name}); int number = db.delete("person", "name=?", new String[]{name}); db.close(); return number; } }
==========================================================================================================================================public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); PersonSQLiteOpenHelper helper = new PersonSQLiteOpenHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); db.close(); } }