一、SharedPreferences :一种主要 用于储存轻量级的数据如一些配置信息(如是否打开音效,是否使用振动,记住账号等等),储存的类型为key-value对,目录为File Explore-data-data-你的应用程序包名-shared_ prefs
1.用法
由于该类是一个接口,故不能直接创建对象,所以是通过getSharePreferences()方法得到SharePreferences对象。
如下例所示:
SharedPreferences sharedPreferences=getSharedPreferences("save", MODE_PRIVATE);
其中save表示文件名称,
MODE_PRIVATE表示相关权限指只能被本应用程序读取,除此之外还有另外两种(但不推荐使用):
MODE_WORLD_READABLE指能被其他应用程序读,但不能写。
MODE_WORLD_WRITEABLE指能被其他应用程序读写。
读取数据
sharedPreferences.getXxx(String key,xxx defValue)
第一个参数表示储存时的key,第二个参数表示当没有该值时的返回值
写入数据
通过edit()方法
如Editor editor=sharedPrefrefrences.edit()
editor.putXxx(String key,xxx value)
切记要提交editor.commit();
当要删除指定数据时editor.remove(String key)
切记要提交editor.commit();
当要删除全部数据时 editor.clear()
切记要提交editor.commit();
二、文件储存
FileInputStream openFileInput(String name) 打开对应的输入流
FileOutpuyStream openFileOutput(Stirng name,int mode)打开对应的输出流,并指定相关权限
然后就可以进行读写了
三、SD卡储存
1.先在AndroidManifast 中加入 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2.判断手机是否插入了SD卡且是否具有访问权限
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
}
四、sqlite数据库储存,该数据是一个轻量级的数据库,不需要安装。
1.创建数据库的两种方式
直接在类中创建
SQLiteDatabase db=SQLiteDatabase.openOrCreateDatabase("test.db", null);
注意:数据文件的路径是可以指定的,默认是File Explore-data-data-你的应用程序包名-database下
第二种:新建一个类并继承SQLiteOpenHelper类,如下例所示
public class DataBase extends SQLiteOpenHelper {
public DataBase(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
// 创建数据库
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
// 更新数据库
}
}
增删改查和其他数据库操作类似
db.insert(String table, String nullColumnHack, ContentValues values); db.update(String table, Contentvalues values, String whereClause, String whereArgs); db.delete(String table, String whereClause, String whereArgs);
查询有如下方法
db.rawQuery(String sql, String[] selectionArgs); db.query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy); db.query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit); db.query(String distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy,
最后要用到Cursor类,可以理解为是数据的集合,通过游标的移动可以到到你所想要的数据。
本文介绍了Android应用中的四种主要数据存储方式:SharedPreferences、文件存储、SD卡存储和SQLite数据库存储。详细解释了每种方式的使用场景、API调用及注意事项。

1万+

被折叠的 条评论
为什么被折叠?



