2017-01-06 12 views
10

今すぐAndroid Wearで画像を読み込むためにGlide-libraryを使用しています。ほとんどの場合、画像はロードされません。ただし、画像を読み込むことがあります。私のコードで何がうまくいかないか分からない。アンドロイドウェアでURL画像を読み込む方法は?

服は、Bluetoothを介してデバイスに接続されていると私は正常に携帯からBroadcast Receiver経由でAndroid WearでのWebサービスのJSON応答を取得します。すべてのデータは、画像以外の摩耗時に適切に表示されます。

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); 

答えて

2

は私が

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

、あなたはライブラリとして同じplayservicesのバージョンを使用していることを確認し、あなたがウェアラブルでの画像の読み込みのために、DaVinciを使うべきだと思う

あなたが統合することができるようになります

摩耗:

あなたのGradleにこれを追加することで、同じモバイル
compile ('com.github.florent37:davinci:[email protected]'){ 
    transitive = true 
} 

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

はあなたが望む結果を得ることを願っています。

0

問題は、あなたがグライド自体を使用して、それを解決することができます...

アウト時間をソケットに起因しています。 OKHttp3でGlideを使用し、OkHttpClientにタイムアウト制限を設定するだけです。コード

<meta-data 
     android:name="YourPath.MyGlideModule" 
     android:value="GlideModule" /> 
以下のマニフェストプットで

あなたのモジュールの依存関係で

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); 
    } 
} 

関連する問題