硅谷新闻10--数据缓存

Posted 安卓笔记侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了硅谷新闻10--数据缓存相关的知识,希望对你有一定的参考价值。

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--数据缓存的主要内容,如果未能解决你的问题,请参考以下文章

美国禁止华为硅谷子公司技术出口中国;MongoDB超2亿中国用户数据泄露;GitHub私有库免费!丨Q新闻

硅谷新闻6--下拉刷新/上拉加载更多

硅谷新闻5--顶部新闻轮播图事件处理

硅谷新闻11--极光推送的集成

硅谷新闻2--禁止viewpager预加载

硅谷新闻1--引导界面GuideActivity