Right now I am using Glide-library
to load the image in Android Wear. It doesn't load the image in most of the times. However, it loads image sometimes. Don't know what going wrong in my code.
Note Wear is connected to the device via Bluetooth and I successfully get JSON
response of Webservice in Android Wear via Broadcast Receiver
from mobile. All data are displayed properly in wear except the images.
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);
I think you should use, DaVinci for image loading in Wearable,
DaVinci.with(context).load("Your Url").into(imageView);
Make sure you use the same playservices version as the library,
You will be able to integrate the same by adding this to your gradle:
wear :
compile ('com.github.florent37:davinci:1.0.3@aar'){
transitive = true
}
Mobile:
compile ('com.github.florent37:davincidaemon:1.0.3@aar'){
transitive = true
}
Hope you will get what you want.
The issue is due to socket time out...
You can resolve it using Glide itself. You just need to use Glide with OKHttp3, and set Timeout Limit for OkHttpClient.
In your module dependency
compile 'com.github.bumptech.glide:glide:3.7.0'
compile ('com.github.bumptech.glide:okhttp3-integration:1.4.0'){
exclude group: 'glide-parent'
}
Customize glide settings
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);
}
}
In manifest put below code
<meta-data
android:name="YourPath.MyGlideModule"
android:value="GlideModule" />
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.