如何在Android Wear中加载URL图片?

现在我正在使用Glide-library在Android Wear中加载图像。 它在大多数时间不加载图像。 但是,有时会加载图像。 不知道我的代码出了什么问题。

注意穿戴通过蓝牙连接到设备,并且我通过移动Broadcast Receiver成功获取了Android Wear中Webservice的JSON响应。 除图像外,所有数据均可正确显示。

 Glide.with(mContext) .load("http://sofzh.miximages.com/android/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); 

Solutions Collecting From Web of "如何在Android Wear中加载URL图片?"

我认为你应该使用DaVinci在Wearable中进行图像加载,

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

确保你使用与库相同的playservices版本,

您将能够通过添加到您的gradle集成相同:

穿:

 compile ('com.github.florent37:davinci:1.0.3@aar'){ transitive = true } 

移动:

 compile ('com.github.florent37:davincidaemon:1.0.3@aar'){ transitive = true } 

希望你能得到你想要的。

问题是由于套接字超时…

您可以使用Glide本身来解决它。 您只需要使用OKHttp3的Glide,并设置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" />