标签:
一. SharePreferences: 通过键值对的方式存储私有的原始数据
1. 获取SharePrefereces对象的两种方法
(1) getSharedPreferences(String name, int mode)
(2) getPreferences(int mode)
2. 写入值的步骤
(1)调用edit, 得到SharePreferences.Editor对象
(2)通过如putBoolean(String key, boolean value)的方法添加键值对
(3)调用commit()保存
3. 读取值
通过SharePrefereces的getBoolean(String key, boolean defValue)等方法
eg:
public class Calc extends Activity { public static final String PREFS_NAME = "MyPrefsFile"; @Override protected void onCreate(Bundle state){ super.onCreate(state); . . . // Restore preferences SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); boolean silent = settings.getBoolean("silentMode", false); setSilent(silent); } @Override protected void onStop(){ super.onStop(); // We need an Editor object to make preference changes. // All objects are from android.context.Context SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); SharedPreferences.Editor editor = settings.edit(); editor.putBoolean("silentMode", mSilentMode); // Commit the edits! editor.commit(); } }
二. 使用内部存储器
1. 创建文件并且将其写入到内部存储器
(1)调用openFileOutput(String name, int mode),打开一个文件(不存在就创建),返回FileOutputStream对象
(2)调用write(byte[] buffer) 写入到文件
(3)调用close()将流关闭
String FILENAME = "hello_file"; String string = "hello world!"; FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); fos.write(string.getBytes()); fos.close();
2. 从内部存储器中读取文件
(1)调用openFileInput(String name)返回FileInputStream对象
(2)调用read(byte[] buffer, int byteOffset, int byteCount)读取流
(3)调用close()将流关闭
3.其它一些有用的方法
Log.i(TAG, getCacheDir().getPath()) //data/data/包名/caches Log.i(TAG, getFilesDir().getPath()) //data/data/包名/files
标签:
原文地址:http://www.cnblogs.com/mmyz-sysu-panjn/p/Storage-Options.html