在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和前面第四个的字符数组相对应)。