Android中的图像Glide Firebase下载问题
我正在使用以下库使用图像url从firebase db中提取我应用程序中的图像和文本。我的应用程序显示带有图像和文本的滑动视图,但是图像都是灰色/白色。有人知道问题出在哪里吗 我可以将图像上传到firebase,但下载图像时,logcat会显示在下面Android中的图像Glide Firebase下载问题,android,firebase,android-glide,Android,Firebase,Android Glide,我正在使用以下库使用图像url从firebase db中提取我应用程序中的图像和文本。我的应用程序显示带有图像和文本的滑动视图,但是图像都是灰色/白色。有人知道问题出在哪里吗 我可以将图像上传到firebase,但下载图像时,logcat会显示在下面 W/Glide: Load failed for com.google.android.gms.tasks.XXXXXXX with size [1050x600] class com.bumptech.glide.load.engine.Glid
W/Glide: Load failed for com.google.android.gms.tasks.XXXXXXX with size [1050x600]
class com.bumptech.glide.load.engine.GlideException: Failed to load resource
There were 3 causes:
java.io.FileNotFoundException(/com.google.android.gms.tasks.XXXXXX (No such file or directory))
java.io.FileNotFoundException(No such file or directory)
java.io.FileNotFoundException(No such file or directory)
call GlideException#logRootCauses(String) for more detail
Cause (1 of 3): class com.bumptech.glide.load.engine.GlideException:
Fetching data failed, class java.io.InputStream, LOCAL
There was 1 cause:
java.io.FileNotFoundException(/com.google.android.gms.tasks.XXXXXX (No such file or directory))
call GlideException#logRootCauses(String) for more detail
Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException:
Fetch failed`
我是格雷德尔
android {
compileSdkVersion 26
//buildToolsVersion "26.0.3"
defaultConfig {
applicationId "com.checkbox"
minSdkVersion 21
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
repositories {
mavenCentral()
google()
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE-FIREBASE.txt'
exclude 'META-INF/NOTICE'
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
//implementation 'com.android.support:appcompat-v7:26.3.1'
implementation 'com.android.support:appcompat-v7:26.0.0-beta2'
implementation 'com.android.support:design:26.0.0-beta2'
testImplementation 'junit:junit:4.12'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
//implementation 'com.google.firebase:firebase-auth:10.2.0'
implementation 'com.google.firebase:firebase-auth:16.1.0'
//implementation 'com.android.support:support-v4:26.3.1'
implementation 'com.android.support:support-v4:26.0.0-beta2'
implementation 'de.hdodenhof:circleimageview:2.1.0'
//implementation 'com.google.firebase:firebase-database:10.2.0'
implementation 'com.google.firebase:firebase-database:16.0.6'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.theartofdev.edmodo:android-image-cropper:2.4.+'
//implementation 'com.google.firebase:firebase-storage:10.2.0'
implementation 'com.google.firebase:firebase-storage:16.0.5'
//implementation 'com.firebaseui:firebase-ui-database:2.0.0'
implementation 'com.firebaseui:firebase-ui-storage:3.2.1'
implementation 'id.zelory:compressor:2.0.0'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.squareup.okhttp:okhttp:2.5.0'
//implementation 'com.google.firebase:firebase-messaging:10.2.0'
implementation 'com.google.firebase:firebase-messaging:17.3.4'
implementation 'com.android.support:recyclerview-v7:26.0.0'
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.firebase:firebase-client-android:2.4.0'
implementation 'com.android.support:cardview-v7:26.0.0'
implementation('com.github.bumptech.glide:glide:3.8.0') {
exclude group: "com.android.support"
}
}
apply plugin: 'com.google.gms.google-services'
}
public class RecyclerViewAdapter extends RecyclerView.Adapter {
Context context;
List<ImageUploadInfo> MainImageUploadInfoList;
public RecyclerViewAdapter(Context context, List<ImageUploadInfo> TempList) {
this.MainImageUploadInfoList = TempList;
this.context = context;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.content_recycler_view_adapter, parent, false);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
ImageUploadInfo UploadInfo = MainImageUploadInfoList.get(position);
holder.imageNameTextView.setText(UploadInfo.getImageName());
//Loading image from Glide library.
Glide.with(context).load(UploadInfo.getImageURL()).into(holder.imageView);
}
@Override
public int getItemCount() {
return MainImageUploadInfoList.size();
}
class ViewHolder extends RecyclerView.ViewHolder {
public ImageView imageView;
public TextView imageNameTextView;
public ViewHolder(View itemView) {
super(itemView);
imageView = (ImageView) itemView.findViewById(R.id.imageView);
imageNameTextView = (TextView) itemView.findViewById(R.id.ImageNameTextView);
}
}
android{
编译DK26版
//buildToolsVersion“26.0.3”
默认配置{
applicationId“com.checkbox”
明斯克版本21
targetSdkVersion 26
版本代码1
版本名称“1.0”
TestInstrumentRunner“android.support.test.runner.AndroidJUnitRunner”
}
存储库{
mavenCentral()
谷歌()
}
建筑类型{
释放{
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard rules.pro'
}
}
包装选项{
排除“META-INF/许可证”
排除“META-INF/LICENSE-FIREBASE.txt”
排除“META-INF/通知”
}
}
依赖关系{
实现文件树(目录:“libs”,包括:['*.jar'])
androidTestImplementation('com.android.support.test.espresso:espresso核心:2.2.2'{
排除组:“com.android.support”,模块:“support annotations”
})
//实现'com.android.support:appcompat-v7:26.3.1'
实现'com.android.support:appcompat-v7:26.0.0-beta2'
实现'com.android.support:design:26.0.0-beta2'
测试实现'junit:junit:4.12'
实现'com.android.support.constraint:constraint布局:1.0.2'
//实现'com.google.firebase:firebase auth:10.2.0'
实现'com.google.firebase:firebase auth:16.1.0'
//实现'com.android.support:support-v4:26.3.1'
实现'com.android.support:support-v4:26.0.0-beta2'
实现“de.hdodenhof:circleimageview:2.1.0”
//实现'com.google.firebase:firebase数据库:10.2.0'
实现'com.google.firebase:firebase数据库:16.0.6'
实现'com.google.firebase:firebase核心:16.0.1'
实现'com.theartofdev.edmodo:android图像裁剪器:2.4.+'
//实现'com.google.firebase:firebase存储:10.2.0'
实现'com.google.firebase:firebase存储:16.0.5'
//实现'com.firebaseui:firebaseui数据库:2.0.0'
实现'com.firebaseui:firebaseui存储:3.2.1'
实现“id.zelory:compressor:2.0.0”
实现'com.squareup.picasso:picasso:2.5.2'
实现'com.squareup.okhttp:okhttp:2.5.0'
//实现'com.google.firebase:firebase消息:10.2.0'
实现'com.google.firebase:firebase消息:17.3.4'
实现'com.android.support:recyclerview-v7:26.0.0'
实现'com.github.bumptech.glide:glide:4.9.0'
实现'com.firebase:firebase客户端android:2.4.0'
实现'com.android.support:cardview-v7:26.0.0'
实现('com.github.bumptech.glide:glide:3.8.0'){
排除组:“com.android.support”
}
}
应用插件:“com.google.gms.googleservices”
}
公共类RecycleServiceAdapter扩展了RecyclerView.Adapter{
语境;
列出MainImageUploadInfoList;
公共RecycleServiceAdapter(上下文,列表模板列表){
this.MainImageUploadInfoList=模板列表;
this.context=上下文;
}
@凌驾
public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
查看视图=LayoutFlater.from(parent.getContext()).flate(R.layout.content\u recycler\u View\u adapter,parent,false);
ViewHolder ViewHolder=新的ViewHolder(视图);
返回视图持有者;
}
@凌驾
公共无效onBindViewHolder(ViewHolder,int位置){
ImageUploadInfo UploadInfo=MainImageUploadInfoList.get(位置);
holder.imageNameTextView.setText(UploadInfo.getImageName());
//正在从Glide库加载图像。
Glide.with(context).load(UploadInfo.getImageURL())到(holder.imageView)中;
}
@凌驾
public int getItemCount(){
返回MainImageUploadInfoList.size();
}
类ViewHolder扩展了RecyclerView.ViewHolder{
公共影像视图;
公共文本视图imageNameTextView;
公共视图持有者(视图项视图){
超级(项目视图);
imageView=(imageView)itemView.findViewById(R.id.imageView);
imageNameTextView=(TextView)itemView.findViewById(R.id.imageNameTextView);
}
}
您的清单文件中是否已经有internet权限?
是的,我有internet权限,也有读写权限。将图像上载到Firebase存储时,该代码正常工作,但无法检索回我的应用程序。