Android基础day3
- 数据库如何创建
定义一个类继承sqliteOpenHelper
oncreaet方法:当数据库第一次创建的时候调用 ,特别适合做表的初始化
onupgrade方法:当数据库版本进行更新的时候调用
-
对数据库进行怎删改查
sqliteDatabase:操作数据库
(1)sql语句:
增:db.execSQL(“insert into info(name,phone) values(?,?)”, new Object[] { “张三”, “138” });
删:db.execSQL(“delete from info where name=?”, new Object[] { “张三” });
改:db.execSQL(“update info set phone=? where name=?”, new Object[] { “137”, “张三” });
查:Cursor cursor = db.rawQuery(“select * from info”, null);
if (cursor != null && cursor.getCount() > 0) {
while (cursor.moveToNext()) {
String name = cursor.getString(1);
String phone = cursor.getString(2);
System.out.println(“name:” + name + “----phone:” + phone);
}
}
(2)使用谷歌等装好的api对数据进行怎删改查
增:ContentValues values = new ContentValues();
values.put(“name”, “王五”);
values.put(“phone”, “111”);
long insert = db.insert(“info”, null, values);
db.close();
删:int delete = db.delete(“info”, “name=?”, new String[] { “王五” });
改:ContentValues values = new ContentValues();
values.put(“phone”, “222”);
int update = db.update(“info”, values, “name=?”, new String[] { “王五” });
查:Cursor cursor = db.query(“info”, null, null, null, null, null, null);
if (cursor != null && cursor.getCount() > 0) {
while (cursor.moveToNext()) {
String name = cursor.getString(1);
String phone = cursor.getString(2);
}
} -
listview
1.定义listview在布局中
2.定义listview的数据适配器
3.实现baseAdapter的getCount方法和getview方法 -
listview 的优化
TextView tv;
if (convertView == null) {
tv = new TextView(getApplicationContext());
System.out.println(“创建新的对象” + position);
} else {
tv = (TextView) convertView;
System.out.println(“复用历史缓存对象” + position);
} -
获取打气筒的常见api,打气筒可以把一个布局资源转换成一个View对象
View view;
if (convertView == null) {
view = View.inflate(getApplicationContext(), R.layout.item, null);
} else {
view = convertView;
}
return view; -
数组适配器ArrayAdapter