码迷,mamicode.com
首页 > 其他好文 > 详细

硅谷新闻10--数据缓存

时间:2016-10-31 06:55:31      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:java   exists   return   创建目录   nts   static   comm   new   environ   

1.向SharedPreferences 中存储字符串

/**
 * 缓存文本数据
 *
 * @param context
 * @param key
 * @param value
 */
public static void putString(Context context, String key, String value) {
	if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
		///mnt/sdcard/beijingnews/files/llkskljskljklsjklsllsl
		try {
			String fileName = MD5Encoder.encode(key);//llkskljskljklsjklsllsl
			///mnt/sdcard/beijingnews/files/llkskljskljklsjklsllsl
			File file = new File(Environment.getExternalStorageDirectory() + "/beijingnews/files", fileName);
			File parentFile = file.getParentFile();//mnt/sdcard/beijingnews/files
			if (!parentFile.exists()) {
				//创建目录
				parentFile.mkdirs();
			}
			if (!file.exists()) {
				file.createNewFile();
			}
			//保存文本数据
			FileOutputStream fileOutputStream = new FileOutputStream(file);
			fileOutputStream.write(value.getBytes());
			fileOutputStream.close();

		} catch (Exception e) {
			e.printStackTrace();
			LogUtil.e("文本数据缓存失败");
		}
	} else {
		SharedPreferences sp = context.getSharedPreferences("atguigu", Context.MODE_PRIVATE);
		sp.edit().putString(key, value).commit();
	}
}

  

2.从SharedPreferences 中获取存储的字符串

/**
 * 获取缓存的文本信息
 *
 * @param context
 * @param key
 * @return
 */
public static String getString(Context context, String key) {
	String result = "";
	if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
		try {
			String fileName = MD5Encoder.encode(key);//llkskljskljklsjklsllsl
			///mnt/sdcard/beijingnews/files/llkskljskljklsjklsllsl
			File file = new File(Environment.getExternalStorageDirectory() + "/beijingnews/files", fileName);
			if (file.exists()) {
				FileInputStream is = new FileInputStream(file);
				ByteArrayOutputStream stream = new ByteArrayOutputStream();
				byte[] buffer = new byte[1024];
				int length;
				while ((length = is.read(buffer)) != -1) {
					stream.write(buffer, 0, length);
				}
				is.close();
				stream.close();
				result = stream.toString();
			}
		} catch (Exception e) {
			e.printStackTrace();
			LogUtil.e("图片获取失败");
		}
	} else {
		SharedPreferences sp = context.getSharedPreferences("atguigu", Context.MODE_PRIVATE);
		result = sp.getString(key, "");
	}
	return result;
}

  

硅谷新闻10--数据缓存

标签:java   exists   return   创建目录   nts   static   comm   new   environ   

原文地址:http://www.cnblogs.com/ganchuanpu/p/6014512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!