Android 模拟器';这是我的照片。但我的手机可以';T
我可以在emulator中看到Firebase中的图像,但当我发布到手机时,无法在手机中看到图像。我正在使用Firebase实时数据库和毕加索图书馆。我在数据库中存储图像Url。我使用毕加索来显示图像。但我可以在模拟器中看到图像,看不到手机。我尝试使用“with”函数,但代码不允许。我怎样才能解决这个问题Android 模拟器';这是我的照片。但我的手机可以';T,android,firebase-realtime-database,picasso,Android,Firebase Realtime Database,Picasso,我可以在emulator中看到Firebase中的图像,但当我发布到手机时,无法在手机中看到图像。我正在使用Firebase实时数据库和毕加索图书馆。我在数据库中存储图像Url。我使用毕加索来显示图像。但我可以在模拟器中看到图像,看不到手机。我尝试使用“with”函数,但代码不允许。我怎样才能解决这个问题 public class IngredientsAdapter extends RecyclerView.Adapter <IngredientsAdapter.MyViewHolde
public class IngredientsAdapter extends
RecyclerView.Adapter <IngredientsAdapter.MyViewHolder> {
**Context** mContext;
ArrayList<Ingredients> mIngredientsArrayList;
CustomItemClickListener mListener;
public IngredientsAdapter(Context context, ArrayList<Ingredients>
ingredientsArrayList, CustomItemClickListener listener) {
mContext = context;
mIngredientsArrayList = ingredientsArrayList;
mListener = listener;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
final View view =
LayoutInflater.from(mContext).inflate(R.layout.soup_cardview, parent, false);
final MyViewHolder viewHolder = new MyViewHolder(view);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mListener.onItemClick(view, viewHolder.getAdapterPosition());
}
});
return viewHolder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.soupName.setText(mIngredientsArrayList.get(position).getName());
Picasso.get().load(mIngredientsArrayList.get(position).getImage()).into(holder.soupImage);
}
**@Override**
public int getItemCount() {
return mIngredientsArrayList.size();
}
class MyViewHolder extends RecyclerView.ViewHolder {
TextView soupName;
ImageView soupImage;
TextView soupIngredients;
TextView soupDetail;
public MyViewHolder(View itemView) {
super(itemView);
soupName = itemView.findViewById(R.id.menu_name);
soupImage=itemView.findViewById(R.id.menu_image);
} }
在启用硬件加速的情况下,设备可以渲染最大图像大小。此大小取决于设备。如果位图大于此大小,则不会渲染
int[] maxSize = new int[1];
GLES20.glGetIntegerv(GLES20.GL_MAX_TEXTURE_SIZE, maxSize, 0);
您在Logcat中有任何警告吗?顺便说一下,您应该使用Glide而不是Picasso,这是图像加载的新参考。我更改了Picasso。下面是警告消息:class com.bumptech.Glide.load.engine.GlideException:接收到空模型。您使用的URL似乎为空。这可能是因为您在模拟器上使用的APK文件与在手机上使用的APK文件(应用程序id、签名配置等)不同。因此,Firebase没有向您发送正确的数据。
int[] maxSize = new int[1];
GLES20.glGetIntegerv(GLES20.GL_MAX_TEXTURE_SIZE, maxSize, 0);