Android指定文件缓存路径

获取本地缓存路径的方法:

public File getDiskCacheDir(Context context, String uniqueName) {
	String cachePath;
	if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
			|| !Environment.isExternalStorageRemovable()) {
		cachePath = context.getExternalCacheDir().getPath();
	} else {
		cachePath = context.getCacheDir().getPath();
	}
	return new File(cachePath + File.separator + uniqueName);
}

当SD卡存在或者SD卡不可被移除的时候,就调用getExternalCacheDir()方法来获取缓存路径,否则就调用getCacheDir()方法来获取缓存路径。

uniqueName 是缓存文件名

使用:

File cacheDir = getDiskCacheDir(context, "bitmap");
if (!cacheDir.exists()) {
	cacheDir.mkdirs();
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果在 Android WebView 中加载 index.html 文件时出现缓存找不到的问题,可能有以下几种原因和解决方法: 1. 确保 index.html 文件已经被正确地缓存到了设备的缓存目录中。你可以检查缓存目录是否存在该文件。 2. 如果使用了 AppCache,确保 manifest.appcache 文件中已经正确地列出了 index.html 文件。检查 manifest.appcache 文件路径和内容是否正确。 3. 确保在加载 index.html 文件之前,WebView 的缓存模式已经正确设置。可以使用 `setCacheMode` 方法将缓存模式设置为 `LOAD_CACHE_ELSE_NETWORK`,以确保优先加载缓存。 ```java webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); ``` 4. 如果 index.html 文件位于 assets 目录下,而不是设备的缓存目录中,你需要使用 `loadUrl` 方法加载 assets 文件。示例代码如下: ```java webView.loadUrl("file:///android_asset/index.html"); ``` 5. 如果 index.html 文件位于设备的缓存目录中,你需要构建正确的文件路径并使用 `loadUrl` 方法加载该文件。示例代码如下: ```java String cachePath = getApplicationContext().getCacheDir().getAbsolutePath(); String indexPath = "file://" + cachePath + "/index.html"; webView.loadUrl(indexPath); ``` 通过以上方法,你可以检查并确保正确地加载和缓存 index.html 文件。如果问题仍然存在,请检查文件路径缓存操作是否正确,并确保文件指定的位置可访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值