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可以为 new String[]{"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. Android-sharedUserId数据权限
  2. [Android Pro] 使用CursorLoader异步加载数据 from 3.0
  3. Android 中解析JSON形式的数据
  4. Android应用程序组件Content Provider的共享数据更新通知机制分
  5. Android SQLite数据库升级的问题
  6. 使用SharedPreferences存储和读取数据
  7. android中的http访问方式
  8. Android:Content Provider数据共享

随机推荐

  1. Android(安卓)主动获取电量的方法
  2. android 如何实现EditText从不可编辑状态
  3. 「横竖屏」 「分屏」 「虚拟按键」
  4. android 界面布局
  5. Android(安卓)九宫格图片展示的实现
  6. Android(安卓)Studio的Gradle错误解决方
  7. Android植物大战僵尸附源码
  8. Android的系统架构
  9. 基于Java LinkedList,实现Android大数据
  10. 通过userAgent判断是是否手机、微信、手