小编and*_*ann的帖子

使用retrofit2和OkHttp3时出现此错误.无法解析主机"<host-name>":没有与主机名关联的地址

我正在使用改造2和OkHttp3从服务器请求数据.我刚刚添加了一个离线缓存代码,但它没有按预期工作.我收到错误"无法解析主机"<>":没有与主机名关联的地址."

当它试图从缓存中获取检索数据时(没有互联网连接时)会发生这种情况.下面是一段代码片段.

public static Interceptor provideCacheInterceptor() {
    return new Interceptor() {
        @Override
        public Response intercept(Chain chain) throws IOException {
            Response response = chain.proceed(chain.request());

            // re-write response header to force use of cache
            CacheControl cacheControl = new CacheControl.Builder()
                    .maxAge(2, TimeUnit.MINUTES)
                    .build();

            return response.newBuilder()
                    .header(CACHE_CONTROL, cacheControl.toString())
                    .build();
        }
    };
}

public static Interceptor provideOfflineCacheInterceptor() {
    return new Interceptor() {
        @Override
        public Response intercept(Chain chain) throws IOException {
            Request request = chain.request();

            if (!hasNetwork) {
                CacheControl cacheControl = new CacheControl.Builder()
                        .onlyIfCached()
                        .maxStale(7, TimeUnit.DAYS) …
Run Code Online (Sandbox Code Playgroud)

android offline-caching okhttp retrofit2 okhttp3

15
推荐指数
1
解决办法
6800
查看次数

Glide : 在 Android/Java 中获取缓存文件位置

我正在使用 Glide 在我的应用程序中显示图像。现在我想知道 Glide 存储从 url 下载的缓存图像的位置。

我正在使用下面的代码来显示图像。

Glide.with(mContext)
            .load(mData.get(position).getImage())
            .centerCrop()
            .override(300, 300)
            .placeholder(R.drawable.default_small)
            .diskCacheStrategy(DiskCacheStrategy.SOURCE)
            .into(holder.ivCapturedImage);
Run Code Online (Sandbox Code Playgroud)

android caching android-glide

9
推荐指数
2
解决办法
8406
查看次数

是否有任何方法在TabLayout中使用SpannableString?

我想用两种不同的文字大小设置TabLayout的标题.如下图所示.或者反过来实现这一目标!

在此输入图像描述

我尝试过使用SpannableString,如下所示.这个代码片段在for循环中直到5!

SpannableString mSpannableString=  new SpannableString(s);
mSpannableString.setSpan(new RelativeSizeSpan(2f), 0,5, 0); // set size
mSpannableString.setSpan(new ForegroundColorSpan(Color.RED), 0, 5, 0);// set color
mTabLayout.getTabAt(i).setText(mSpannableString);
Run Code Online (Sandbox Code Playgroud)

但正如CommonaSware所提到的,setText()并没有采用丰富的内容!

android text-size android-tablayout

5
推荐指数
1
解决办法
747
查看次数

SDK平台工具版本(24.0.3)太旧,无法检查使用API​​ 25编译的API [警告]

我知道这已被问过很多次了,但却无法解决这个问题.

Main Project Gradle

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.3'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
Run Code Online (Sandbox Code Playgroud)

App Module Gradle File

android {
compileSdkVersion 25
buildToolsVersion "25.0.1"
defaultConfig {
    applicationId "com.something"
    minSdkVersion 15
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}
Run Code Online (Sandbox Code Playgroud)

所以问题在于它将构建工具版本放在何处,24.0.3因为我已将其设置为25.0.1

只是困惑!!

android build-tools gradle build.gradle android-gradle-plugin

0
推荐指数
1
解决办法
1983
查看次数