Android系统中的数据库
采用的是SQLite,一个轻量级的数据库
在安卓代码中对应的对象类的名字是SQLiteDatabase, 并配置了一套SQLiteDatabase的方法SQLiteDatabase.methods()
一旦在程序中建立了SQLiteDatabase, 那么就可以使用SQLiteDatabase.methods()进行操作.
建立数据库
*静态方法如下
操作如下
SQLiteDatabase db=SQLiteDatabase.OpenOrCreateDatabase(File file, SQLiteDatabase.CursorFactory factory);
aug1=文件名; aug2=factory?? 可以使用null
*创建和打开数据库
下面命令, 创建一个名为Test的数据库,并返回一个SQLiteDatabase对象, 对象名称是=mSQLiteDatabase
mSQLiteDatabase=this.openOrCreateDatabase("Test",MODE_PRIVATE,null);
4.2创建表
通过execSQL方法来执行一条SQL语句。
String CREATE_TABLE="create table 表名(列名,列名,……)";
mSQLiteDatabase.execSQL(CREATE_TABLE);
操作数据库的方法
常用的SQLiteDatabase.methods()包括
execSQL(...) 执行SQL语句; 这个方法没有返回值. (DDL, DML?)
insert(...)插入数据
updata(...)更新数据
delele(...)删除数据
Cursor query(...)查询数据; [注意, 这里会返回一个Cursor对象] Cursor的特点是? ...这里建议学习JDBC作为基础.
与Cursor相关的概念, 记录指针, JDBC, ResultSet, getXXX()方法, 移动记录指针
SQLiteDatabase≈JDBC_Connection,Statement_混合体. 可以与数据库连接, 也有SQL操作
Cursor=ResultSet
rawQuery(...) SQL查询?? 差别是?
其他陌生概念
SQLiteDatabase.CursorFactory参数----Cursor工厂? null, 默认参数?
问题: inflateList
使用SQLiteDatabase的全步骤
获取SQLiteDatabase对象
执行SQLiteDatabase的方法
操作返回对象---Cursor
关闭SQLiteDatabase数据库
SQLiteOpenHelper类
Android给我们提供了多个管理SQL的工具,SQLiteOpenHelper是其中一种,比较方便,比原来的方法更加优雅.
得到了SQLiteOpenHelper对象之后,可以用getWritableDatabase()或者getReaderDatabase()得到SQLiteDatabase的对象
但是SQLiteOpenHelper是一个抽象的Class, 只能自己写一个新的去继承了
比如public class MyDatabaseHelper extends SQLiteOpenHelper
查看数据库的方法
SQlite Database Browser
SQLite3, 自带的exe文件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
事件源。或者是事件对象
event,事件。点击。
事件监听器。监听,做出响应。
给事件源,绑架监听器。
button1.setOnClickListerner(new
onClickListener() { })
这个是什么意思?
1、监听器是个抽象类,它包含了一个事件触发时系统会去调用的函数
2、在子类中,根据您项目的需要重写这个函数
派生后的监听器需要绑定到按钮上
监听器其实是一种回调:
而是系统触发后自动会去调用它
implements, 类似于一个class, 但是有一点不一样
3、为Button申明ID
继续在XML中为Button添加ID属性
android:id="@+id/btnOK"
+表示通过它来生成静态资源,如果没有+,表示使用的是指定位置的静态资源,一般为控件赋ID时,都使用+这个方法
如果您想把每个控件ID都背下来,那可能很难,更合适的做法是利用R.id来获取指定的名称,而这个名称又唯一对应了控件ID
但我强烈介意您,如果需要多次调用这个Button时,在onCreate中利用findViewById找到它后,把它记录在Activity的一个全局变量中