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和前面第四个的字符数组相对应)。
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和前面第四个的字符数组相对应)。
相关文章推荐
- Android的数据存储方式
- 说一下android的sqlite数据库BaseSQLiteOpenHelper
- Android的top命令
- Android中通过GPS或NetWork获取当前位置的经纬度
- Android性能优化技巧
- Android 性能优化之使用MAT分析内存泄露问题
- 极简音乐播放器(一)
- 【攻克Android(26)】Async Task 异步任务
- android图片异步加载缓存2(1运行不了但是代码很优雅)
- Android 简单实现ListView顶部悬浮效果
- Android中的Service服务绑定
- Android中Handler引起的内存泄露
- Android(java)学习笔记133:ListViewProject案例(ListView + BaseAdapter + CheckBox)
- Android中的5种数据存储方式之——SharedPreferences
- android api 中文 (73)—— AdapterView
- Android Api Demos登顶之路(十)Overscan
- Android接收不到系统广播的原因
- 基于ZXing的二维码,你可以这样改造它
- Android 广播机制 详解
- Fragment的startActivityForResult方法