首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DiskLruCache - IllegalArgumentException

DiskLruCache - IllegalArgumentException
EN

Stack Overflow用户
提问于 2013-06-03 23:37:59
回答 2查看 1.3K关注 0票数 0

我正在开发一个Android应用程序,我正在从服务器上获取一些图像/视频。我想将下载的信息缓存到磁盘上,但当我尝试将新数据放到缓存中时,发生了一个错误,我不知道为什么,因为密钥似乎是正确的。下面是堆栈跟踪:

代码语言:javascript
复制
    06-03 18:27:38.942: E/AndroidRuntime(10893): java.lang.IllegalArgumentException: keys must match regex [a-z0-9_-]{1,64}: "mYUb5gz5gx"
06-03 18:27:38.942: E/AndroidRuntime(10893):    at com.jakewharton.DiskLruCache.validateKey(DiskLruCache.java:633)
06-03 18:27:38.942: E/AndroidRuntime(10893):    at com.jakewharton.DiskLruCache.edit(DiskLruCache.java:421)
06-03 18:27:38.942: E/AndroidRuntime(10893):    at com.jakewharton.DiskLruCache.edit(DiskLruCache.java:416)
06-03 18:27:38.942: E/AndroidRuntime(10893):    at com.licenta.mementoapp.utils.DiskLruImageCache.put(DiskLruImageCache.java:69)
06-03 18:27:38.942: E/AndroidRuntime(10893):    at com.licenta.mementoapp.datafragments.PhotosFragment$1$1.done(PhotosFragment.java:92)

键="mYUb5gz5gx“是否与正则表达式匹配?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-03 23:40:07

不,它不是。你的钥匙包含大写字母。只允许小写!

票数 5
EN

Stack Overflow用户

发布于 2016-01-08 17:37:29

您还可以使用MD5工具作为MD5code,如下所示:

代码语言:javascript
复制
public static String hashKeyForDisk(String key) {
    String cacheKey;
    try {
        final MessageDigest mDigest = MessageDigest.getInstance("MD5");
        mDigest.update(key.getBytes());
        cacheKey = bytesToHexString(mDigest.digest());
    } catch (NoSuchAlgorithmException e) {
        cacheKey = String.valueOf(key.hashCode());
    }
    return cacheKey;
}

private static String bytesToHexString(byte[] bytes) {
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < bytes.length; i++) {
        String hex = Integer.toHexString(0xFF & bytes[i]);
        if (hex.length() == 1) {
            sb.append('0');
        }
        sb.append(hex);
    }
    return sb.toString();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16900548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档