Android SharedPreferences,Sqlite,ContentProvider,File

来源:互联网 发布:js插件如何编写 闭包 编辑:程序博客网 时间:2024/06/05 04:52

Android长久保持数据的方式一般有如下四种:

SharedPreferences,Sqlite,ContentProvider,File


其中,SharedPreferences是以键值对的形式保存数据,存储到XML文件中;Sqlite是Android自带的轻量级数据库,以数据库的形式保存数据;ContentProvider基于Sqlite,为第三方提供数据;File是以文件形式自定义路径保存到手机上。

SharedPreferences,Sqlite,ContentProvider在程序被卸载时都会被一同删掉,但如果程序更新则不会清空,这主要是因为这三种形式的文件都存储在应用程序的文件夹中,卸载应用程序时,删除掉应用程序的文件夹,这三种形式的存储文件自然也都消失了;File的保存形式是完全与程序无关的,如果你不把文件存储到应用程序的文件夹下的话,程序的删除和更新,它都在那里,不离不弃。

SharedPreferences的用法:

 SharedPreferences.Editor editor = context.getSharedPreferences(key, Context.MODE_PRIVATE).edit();        editor.putBoolean("isVisited", false);        editor.apply();

SharedPreferences preferences = context.getSharedPreferences(key, Context.MODE_PRIVATE);            boolean isVisited = preferences.getBoolean("isVisited", false);

以上是SharedPreferences的写入与读取操作。在写入时,使用SharedPreferences的内部类Editor,使用put方法写入,写入完成后,调用apply方法提交。提交还有另一个方法,就是commit()。


Sqlite的用法,一般使用SQLiteOpenHelper类来与Sqlite进行连接。此时要注意Sqlite的并发问题,由于Sqlite在一时刻只会和一个SQLiteOpenHelper进行连接,若有多个同时建立连接,便会抛出Execption。

0 0