内部存储:openinputeSream 字节流
外部存储:sdCard 64G:判断外部存储是否可用、
位置:Java输入流;创建文件;输入输出
**一般是小文件;HTTPS:json; **
sqlite:轻量
17.1 SqlLite
17.1.1 SqlLite使用步骤:
1.自定义创建数据库类继承•SQLiteOpenHelper
2.初始化数据库
3.操作数据库
17.1.2SQLiteDatabase 常用方法
- openOrCreateDatabase(Stringpath,SQLiteDatabase.CursorFactory factory)
打开或创建数据库 - insert(Stringtable,StringnullColumnHack,ContentValues values) 插入一条记录
- delete(String table,String whereClause,String[] whereArgs) 删除一条记录
- query(String table,String[] columns,Stringselection,String[]selectionArgs,String groupBy,String having,StringorderBy) 查询一条记录
- update(String table,ContentValues values,StringwhereClause,String[]whereArgs) 修改记录
- execSQL(String sql) 执行一条SQL语句
- close() 关闭数据库
17.3 Cursor常用方法
- getCount() 获得总的数据项数
- isFirst() 判断是否第一条记录
- isLast() 判断是否最后一条记录
- moveToFirst() 移动到第一条记录
- moveToLast() 移动到最后一条记录
- move(int offset) 移动到指定记录
- moveToNext() 移动到下一条记录
- moveToPrevious() 移动到上一条记录
- getColumnIndexOrThrow(String columnName) 根据列 名称获得列索引
- getInt(int columnIndex) 获得指定列索引的int类型值
- getString(int columnIndex) 获得指定列缩影的String类型值
17.4 ContentValues
在添加、修改:代表意义包装一行数据。
本质:Map集合;key=>代表的数据库表中字段,value=>字段设定值
17.5 whereClause
用占位符填充 :条件 表达式 name=?
用值直接填充::条件 表达式 name=‘AAA’;whereArgs可以不用传值