SQLite数据库
SQL数据库的增删改查
SharedPreferences:轻量级存储
存储的路径:data-data-shared-prefs文件
单元测试
onCreate(){main方法中重写}
FragmentManager //管理器
manager=getFragmentManager();
//
FragmentTransaction
transaction=manager.beginTransaction()
new transaction
transaction.add();
transaction.commit()
内部存储:
File存储
CaChe存储:
fetCacheDir()获取Cache存储路径
data--data--包名--cache--文件
在设备内存过低时会删除Cache存储中的文
件,虽然系统会删除Cache中的文件,但不要
依赖系统来删除,自己去时长控制文件的大
小,如:1M
Cache存储的文件,在app在被卸载是,文件会
被删除
外部存储
SDard
获取存储根路径
1.getExternalStorageDirectory()
打印绝对路径
2,getExternalStoagePublicDirectory()
获取公共存储区域路径
3.getExternalCacheDir()
获取私有存储路径
SQL数据库
创建
通过SQLiteOpenHelper
在数据库中读写数据:
1.SQLiteOpenHelper对象
2.调用SQLiteOpenHelper对象的
getWritableDataBase();
getReadableDataBase()-->SQLiteDataBase
3.从数据库中读取数据SQLiteDataBase的
query();rawQuey()
4.每一个查询都将得到Cursor(游标)
游标:Cursor:
方法:
isAfterLast():游标的指针是否指向了最后一
条数据的后面
moveToNext():让游标指向下一条数据
moveToFirsr():让游标指向第一天数据
getString(int columnIndex):获取当前行中
指定列的String值.参考列索引
getColumnIndex(Stirng columnName)根据
列名字获取列索引
插入:
返回值-->插入的行id
SQLiteDataBase.insert(列表名,允许空行,插
入的数据)
CintentValus put(键 ,值);(键:表中列的名
字)
查询:
返回值:Cursor
rawQuery(查询的SQL语句,语句中占位符的
值)
更新:Update
返回值:更新的数据条
db.update(参数1:被修改的表名,参数2:修
改的值,参数3:更新条件,参数4:更新条件中
占位符的值);
删除:Delete
db.delete(参数1:表名,参数2:删除条件,参数
3:删除条件中的占位符的值);
SQL数据存储:
SQL语句分类:
DML:数据管理语言-->增删改查
DDL:数据库定义语言-->表的创建,删除
DCL:数据库控制语言(授权,角色控制)
TCL:事物控制语言
增删改查(CRUD):
增:Create new records
删:Delete existing records
改:Update existing records
查:Retrieve existing records
SQLite数据库访问工具:SQLiteExpert
SQLiteOPenHelper
SQLiteDateBase
创建语句:
Create table TABLENAME( _id integer primary key autoincrement)
创建表名(id和主键,自增)
SQLite内部只支持null; integer; real:浮点; text; char(n)
增删改查:
Cursor:查询.
moveToFirst , moveToNext , moveToLast ,moveToprevious
isAdterLast
Getxxx(列索引):通过列名字获取列的索引
SimpleCursorAdapter:数据源cursor,cursor必须包含-id
数据库的分页加载
滑动监听:onScrollListener
查找: select *from 表名 limit 值1 ,值2
从表中查找数据:从第一天数据开始,查出来值2条数据
工具类的封装:
结合SearchView控件实现对数据库的检索,关键是设置搜索文本内容改变监听:setOnQueryTextListener();
开始事务:
db.beginTransaction();
把事务设置成功状态--如果执行,插入操作成功,没有执行,撤销插入的数据
db.setTransactionSuccessful();
事务结束:
db.endTranscation();
你必须非常努力,才能看起来毫不费力。。。