Как загрузить URL-образ в износе android?

Сейчас я использую Glide-library для загрузки изображения в Android Wear. Он не загружает изображение в большинстве случаев. Однако иногда он загружает изображение. Не знаю, что происходит в моем коде.

Примечание Ношение подключено к устройству через Bluetooth, и я успешно получаю JSON ответ Webservice в Android Wear через Broadcast Receiver с мобильного телефона. Все данные отображаются правильно, кроме изображений.

Glide.with(mContext)
   .load("http://www.hanamoflorist.ca/images/uploads/Spring5InchesCubeVaseArrangement$45.00.jpg")
      .listener(new RequestListener<String, GlideDrawable>() {

        @Override
        public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
            Log.e("exception in image", "" + e);
            Toast.makeText(mContext, "" + e, Toast.LENGTH_LONG).show();
            return false;
        }

        @Override
        public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
            return false;
        }
    }).error(R.drawable.ic_placeholder_image)
        .into(((ItemViewHolder) holder).ivCardImage);

Ответ 1

Я думаю, вы должны использовать DaVinci для загрузки изображения в Wearable,

DaVinci.with(context).load("Your Url").into(imageView);

Убедитесь, что вы используете ту же версию, что и библиотека,

Вы сможете интегрировать это, добавив это в свой gradle:

износ:

compile ('com.github.florent37:davinci:[email protected]'){
    transitive = true
}

Мобильный

compile ('com.github.florent37:davincidaemon:[email protected]'){
     transitive = true
}

Надеюсь, вы получите то, что хотите.

Ответ 2

Проблема связана с отсутствием сокета...

Вы можете решить эту проблему, используя Glide. Вам просто нужно использовать Glide с OKHttp3 и установить Limit Limit для OkHttpClient.

В зависимости от вашего модуля

compile 'com.github.bumptech.glide:glide:3.7.0'
compile ('com.github.bumptech.glide:okhttp3-integration:1.4.0'){
    exclude group: 'glide-parent'
}

Настроить параметры глиссады

public class MyGlideModule implements GlideModule {
   @Override
   public void applyOptions(Context context, GlideBuilder builder) {

   }

   @Override
   public void registerComponents(Context context, Glide glide) {

       OkHttpClient.Builder builder = new OkHttpClient.Builder();

       // set your timeout here
       builder.readTimeout(30, TimeUnit.SECONDS);
       builder.writeTimeout(30, TimeUnit.SECONDS);
       builder.connectTimeout(30, TimeUnit.SECONDS);
       OkHttpUrlLoader.Factory factory = new    OkHttpUrlLoader.Factory(client);
       glide.register(GlideUrl.class, InputStream.class, factory);
   }
}

В манифесте помещается ниже код

 <meta-data
        android:name="YourPath.MyGlideModule"
        android:value="GlideModule" />