您的位置:首页 > 移动开发 > Android开发

android的事物

2015-07-27 19:56 507 查看
在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和前面第四个的字符数组相对应)。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: