我可以在模拟器中看到来自Firebase的图像,但是当我发布到手机时,看不到手机中的图像。我正在使用Firebase实时数据库和毕加索图书馆。我将图像URL存储在数据库中。我用毕加索来展示图像。但是我可以在模拟器中看到图像,看不到手机。我尝试使用"with"函数,但代码不允许。我该如何解决这个问题?
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);
} }
build.gradle
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android{
compileSdkVersion 28
defaultConfig {
applicationId "cd.com.cook"
minSdkVersion 17
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
} }
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.google.firebase:firebase-auth:17.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-core:16.0.9'
implementation 'com.google.firebase:firebase-database:17.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.android.support:appcompat-v7:28.0.0'
}
apply plugin:** 'com.google.gms.google-services'
打开
硬件加速的设备可以渲染最大图像大小。此大小取决于设备。如果位图大于此大小 - 则不会呈现它。
int[] maxSize = new int[1];
GLES20.glGetIntegerv(GLES20.GL_MAX_TEXTURE_SIZE, maxSize, 0);