当我尝试在我的本地网络服务器上打开图像时,可以显示没有任何问题,而不是我试图在Android应用程序上加载Picasso
,我设置了互联网权限和应用程序可以从网络获取数据
我在本地网络服务器上的图片路径:
localhost/public/channels/7BYtHhP5LP8.png
和我的网络IP地址:
192.168.1.4
这是我加载图片的代码:
Picasso.with(context)
.load("192.168.1.4/public/channels/7BYtHhP5LP8.png")
.networkPolicy(NetworkPolicy.OFFLINE)
.into(holder.imageAvatar, new Callback() {
@Override
public void onSuccess() {
holder.loading_avatar_image.setVisibility(View.GONE);
holder.imageAvatar.setVisibility(View.VISIBLE);
}
@Override
public void onError() {
Picasso.with(context)
.load("192.168.1.4/public/channels/7BYtHhP5LP8.png")
.placeholder(R.drawable.cafe_alachiq_place_holder_logo)
.error(R.drawable.cafe_alachiq_logo)
.into(holder.imageAvatar, new Callback() {
@Override
public void onSuccess() {
holder.loading_avatar_image.setVisibility(View.GONE);
holder.imageAvatar.setVisibility(View.VISIBLE);
}
@Override
public void onError() {
holder.loading_avatar_image.setVisibility(View.GONE);
holder.imageAvatar.setVisibility(View.VISIBLE);
holder.imageAvatar.setImageDrawable(context.getResources().getDrawable(R.drawable.cafe_alachiq_logo));
}
});
}
});
在这个毕加索植入最新public void onError()
为我工作
答案 0 :(得分:0)
使用带有方案“http://192.168.1.4/public/channels/7BYtHhP5LP8.png”的URI。还可以通过在浏览器中输入URI(来自手机)来检查图像是否可见。
您还需要更改网络政策:
.networkPolicy(NetworkPolicy.OFFLINE)
因为OFFLINE表示(documentation)
OFFLINE 仅通过磁盘缓存强制请求,跳过网络。
答案 1 :(得分:0)
我现在已经挣扎了一个多小时了。
我做了以下事情:
ifconfig | grep 192
检索本地IP(mac)。并从inet获得了价值。仍然没有用,因为我失去了权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
在我的AndroidManifest.xml中添加了它,它就像一个魅力。
希望这有帮助。
答案 2 :(得分:0)
Picasso.with(context)
.load("
http://10.0.3.2/public/channels/7BYtHhP5LP8.png")
.networkPolicy(NetworkPolicy.OFFLINE)
.into(holder.imageAvatar, new Callback() {
@Override
public void onSuccess() {
holder.loading_avatar_image.setVisibility(View.GONE);
holder.imageAvatar.setVisibility(View.VISIBLE);
}
@Override
public void onError() {
Picasso.with(context)
.load("192.168.1.4/public/channels/7BYtHhP5LP8.png")
.placeholder(R.drawable.cafe_alachiq_place_holder_logo)
.error(R.drawable.cafe_alachiq_logo)
.into(holder.imageAvatar, new Callback() {
@Override
public void onSuccess() {
holder.loading_avatar_image.setVisibility(View.GONE);
holder.imageAvatar.setVisibility(View.VISIBLE);
}
@Override
public void onError() {
holder.loading_avatar_image.setVisibility(View.GONE);
holder.imageAvatar.setVisibility(View.VISIBLE);
holder.imageAvatar.setImageDrawable(context.getResources().getDrawable(R.drawable.cafe_alachiq_logo));
}
});
}
});
尝试使用此IP。它可能适合你。