如何在 android wear 中加载 URL 图片?
How to load URL image in android wear?
现在我正在使用 Glide-library
在 Android Wear 中加载图像。大多数时候它不会加载图像。但是,它有时会加载图像。不知道我的代码出了什么问题。
注意 Wear 通过蓝牙连接到设备,我在 Android Wear via Broadcast Receiver
中成功获得 Webservice 的 JSON
响应移动的。除图片外,所有数据均正常显示。
Glide.with(mContext)
.load("http://www.hanamoflorist.ca/images/uploads/Spring5InchesCubeVaseArrangement.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);
我认为你应该使用,DaVinci 在可穿戴设备中加载图像,
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 本身来解决它。你只需要将 Glide 与 OKHttp3 一起使用,并为 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" />
现在我正在使用 Glide-library
在 Android Wear 中加载图像。大多数时候它不会加载图像。但是,它有时会加载图像。不知道我的代码出了什么问题。
注意 Wear 通过蓝牙连接到设备,我在 Android Wear via Broadcast Receiver
中成功获得 Webservice 的 JSON
响应移动的。除图片外,所有数据均正常显示。
Glide.with(mContext)
.load("http://www.hanamoflorist.ca/images/uploads/Spring5InchesCubeVaseArrangement.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);
我认为你应该使用,DaVinci 在可穿戴设备中加载图像,
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 本身来解决它。你只需要将 Glide 与 OKHttp3 一起使用,并为 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" />