android的事物

在Android中数据库的创建

1先实现一个自己的数据库初始化类  他是继承SQLiteOpenHelper类实现里面需要实现的方法(包含构造方法 这是用来建立一个数据库例:public PersonSqliteOpenHelper(Context context) {
  super(context, "person.db", null, 1);
  // TODO Auto-generated constructor stub
 }   数据库的名字为person.db       还有是onCreate方法  public void onCreate(SQLiteDatabase db) {
  // TODO Auto-generated method stub
  db.execSQL("create table person(id integer primary key autoincrement, name varchar(20), number varchar(20))");
  }     用来建表   还有一个 onUpgrade方法是用来对表进行修改的)

2 就可以直接建造自己的dao类 对数据库进行操作 在类中同样有一个自己的构造方法 内容为public PersonDao(Context context){
  helper = new PersonSqliteOpenHelper(context);
 }  helper是自己在初始化数据库的时候的类型。

接下来自己就可以用helper对象操作数据库  例:SQLiteDatabase db = helper.getWritableDatabase();
  db.execSQL("insert into person(name, number) values(?, ?)", new Object[]{name, number});
  db.close();

SQLiteDatabase db = helper.getReadableDatabase();
  Cursor cursor = db.rawQuery("select * from person where name=?", new String[]{name});
  boolean result = cursor.moveToNext();
  cursor.close();
  db.close();

SQLiteDatabase db = helper.getWritableDatabase();
  db.execSQL("update person set number=? where name=?", new Object[]{newnumber, name});
  db.close();

SQLiteDatabase db = helper.getWritableDatabase();
  db.execSQL("delete from person where name=?", new Object[]{name});
  db.close();

SQLiteDatabase db = helper.getWritableDatabase();
  List<Person> listPerson = new ArrayList<Person>();
  Cursor cursor = db.rawQuery("select * from person", null);
  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 p = new Person(id, name, number);
   listPerson.add(p);
  }
  cursor.close();
  db.close();

还有Google已经封装好的更好用的方法!



在Android的事物中格式是:

db.beginTransaction();

       try{

    .......

    db.setTractionSuccessful();

}finally{

     db.endTraction();

}

在Android中默认实现的类一般为simpleXXX   defaultXXX   baseXXX

把view对象转化为对象

View.inflate(context, resource, root);  ///  context 上下文一般为this或者是XXactivity.this,  第二个参数为对照的资源文件R.layout.list_item,  root 为根节点父窗体不在具体的窗体的时候为null       inflate方法称为打气筒 


list_view  lv.setAdapter () 一般实现一个接口adapter

可以直接使用Google已经写好的类 ArrayAdapter可以有多个参数不同的使用

还有一个是simpleAdapter 用来实现一般simpleAdapter中的参数为第一个context(上下文)第二个为list list为list<Map<String, Object>>  第三个为resource(参照的模板)第四个String【】数组(用来指定map中的主键) 第五个为 int【】 数组 (用来存放模板中的id和前面第四个的字符数组相对应)。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值