android数据的存储方式可以用标准的j2se的api文件存储和网络存储方式.以下是android的其他两种存储方式

1,Shared Preferences是一个简单键值对的xml格式的存储方式
a,读取
getPreferences (int mode) 返回SharedPreferences实例
mode Activity.MODE_PRIVATE, Activity.MODE_WORLD_READABLE, Activity.MODE_WORLD_WRITEABLE

getString (String key, String defValue) 获取数据
b,写数据
通过SharedPreferences(必须为MODE_PRIVATE或MODE_WORLD_WRITEABLE)实例的edit()返回Editor对象
Editor.putString (String key, String value) 设置值
Editor.commit() 提交保存
Editor.clear()清除所有数据
Editor.remove (String key) 移除某一值

2,SQLite
a,SQLiteDatabase类
1),打开/关闭数据库
openOrCreateDatabase(String name, int mode, CursorFactory factory)返回SQLiteDatabase实例 //数据库不存在则新建一个
mode Context.MODE_PRIVATE, Context.MODE_WORLD_READABLE, Context.MODE_WORLD_WRITEABLE, Context.MODE_PRIVATE

SQLiteDatabase类.close()关闭数据库
2),执行数据库操作
SQLiteDatabase.execSQL (String sql) //执行Sql语句

long insert (String table, String nullColumnHack, ContentValues values)
int update (String table, ContentValues values, String whereClause, String[] whereArgs)
int delete (String table, String whereClause, String[] whereArgs)
其中ContentValues是一个键值对,通过ContentValues.put方法设置列名和列值

Cursor rawQuery (String sql, String[] selectionArgs) //执行的是语句
Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)
Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
Cursor query (boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having,
String orderBy, String limit)
其中:
columns 显示列
selection 条件where部分
selectionArgs ?替换符号.如selection为name =? and age=?那么selectionArgs可以为 newString[]{"abc","20"}

Cursor类
int getCount() 返回记录数
boolean isClosed () 判断关闭
boolean isFirst ()
boolean isLast ()

boolean moveToFirst ()
boolean moveToLast ()
boolean moveToNext ()
boolean moveToPosition (int position)
boolean moveToPrevious ()

boolean isNull (int columnIndex) 判断是否为空
XXX getXXX(int columnIndex) 读取某一列的数据

3),事务
SQLiteDatabase.beginTransaction()//打开
SQLiteDatabase.setTransactionSuccessful() //提交
SQLiteDatabase.endTransaction() //结束

b,SQLiteOpenHelper
通过该继承该类可以获取到数据库创建/打开/升级等信息
须实现的方法
onCreate(SQLiteDatabase db) //数据库被创建时触发
onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) //升级数据库

其他重写
onOpen(SQLiteDatabase db) 书库打开是触发

方法
SQLiteDatabase getReadableDatabase ()
synchronized SQLiteDatabase getWritableDatabase ()

无论是Shared Preferences还是SQLite都是程序私有的其他程序无法直接访问.要想访问其他程序的数据须实现Content Provider.

更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. 《Android开发从零开始》——25.数据存储(4)
  4. Android系统配置数据库注释(settings.db)
  5. Android中不同应用间实现SharedPreferences数据共享
  6. [RK3399][Android7.1.1] WifiAp:开机默认打开wifi热点
  7. android图表ichartjs
  8. Android内容提供者源码
  9. Android(安卓)SDK Manager无法更新的解决

随机推荐

  1. linux下多个mysql5.7.19(tar.gz)安装图文
  2. linux下mysql5.7.19(tar.gz)安装图文教程
  3. mysql5.7.17.msi安装图文教程
  4. Mysql5.7中JSON操作函数使用说明
  5. mysql server is running with the --ski
  6. Mysql 5.7.19 winx64 ZIP Archive 安装及
  7. MySQL 4G内存服务器配置优化
  8. MySQL中KEY、PRIMARY KEY、UNIQUE KEY、I
  9. Windows安装MySQL 5.7.18 解压版的教程
  10. 详解数据库连接的URL的写法及总结