android打开保存图片格式,android – 保存后未显示的配置文件图像(它...

我正在尝试上传用户个人资料图像并存储在firebase中.我的图像成功存储在firebase存储和用户数据库中.

当我上传它在屏幕上显示的图像时,但是一旦我保存并重新打开设置以查看配置文件图像,它就不显示,它只显示空白的白色屏幕(但重新打开时的名称和手机显示,只有图像不显示节目)

我附加了从db获取值并在ui中显示的代码,并添加了saveUserInformation(),当用户单击保存图像按钮时,该函数将被调用,此函数在db中保存名称,电话和配置文件.我在下面添加了数据库的屏幕截图,还添加了我得到的错误代码段.

我究竟做错了什么?

这是我控制台登录时滑行输出:

profile img here:target for:android.support.v7.widget.AppCompatImageView {528bbb2 V.ED..C .. …… ID 0,0-300,300#7f0a00b9 app:id / profileImage} [CDS] rx超时:0

mCustomerDatabase.addValueEventListener(object :ValueEventListener{

override fun onDataChange(dataSnapshot: DataSnapshot) {

if(dataSnapshot.exists() && dataSnapshot.childrenCount>0){

val map:Map = dataSnapshot.value as Map

if(map["name"] !=null){

mName=map["name"].toString()

mNameField.setText(mName)

}

if(map["phone"]!=null){

mPhone=map["phone"].toString()

mPhoneField.setText(mPhone)

}

if(map["profileImageUrl"]!=null){

mProfileImageUrl=map["profileImageUrl"].toString()

Glide.with(applicationContext).load(mProfileImageUrl).into(mProfileImage)

val a=Glide.with(applicationContext).load(mProfileImageUrl).into(mProfileImage)

print("profile img here:$a")

}

}

}

override fun onCancelled(p0: DatabaseError) {

TODO("not implemented") //To change body of created functions use File | Settings | File Templates.

}

})

private fun saveUserInformation(){

mName=mNameField.text.toString()

mPhone=mPhoneField.text.toString()

val userInfo=HashMap()

userInfo.put("name",mName)

userInfo.put("phone",mPhone)

mCustomerDatabase.updateChildren(userInfo)

if(resultUri!=null){

val imagePath:StorageReference=mStorage.child("customer_profile_image").child(userId).child(resultUri.lastPathSegment )

val uploadTask:UploadTask=imagePath.putFile(resultUri)

uploadTask.addOnSuccessListener(OnSuccessListener (){taskSnapshot->

val downloadUrl: Task =taskSnapshot.storage.downloadUrl

val newImage= HashMap()

newImage["profileImageUrl"] = downloadUrl.toString()

mCustomerDatabase.updateChildren(newImage)

}).addOnFailureListener(OnFailureListener() {

Toast.makeText(this,"Profile image not uploaded",Toast.LENGTH_SHORT).show()

})

}

finish()

}

Load failed for com.google.android.gms.tasks.zzu@c0645c1 with size [300x300]

class com.bumptech.glide.load.engine.GlideException: Failed to load resource

There were 3 causes:

java.io.FileNotFoundException(/com.google.android.gms.tasks.zzu@c0645c1: open failed: ENOENT (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.zzu@c0645c1: open failed: ENOENT (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

There was 1 cause:

java.io.FileNotFoundException(/com.google.android.gms.tasks.zzu@c0645c1: open failed: ENOENT (No such file or directory))

call GlideException#logRootCauses(String) for more detail

Cause (1 of 1): class java.io.FileNotFoundException: /com.google.android.gms.tasks.zzu@c0645c1: open failed: ENOENT (No such file or directory)

Cause (2 of 3): class com.bumptech.glide.load.engine.GlideException: Fetching data failed, class android.os.ParcelFileDescriptor, LOCAL

There was 1 cause:

java.io.FileNotFoundException(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

There was 1 cause:

java.io.FileNotFoundException(No such file or directory)

call GlideException#logRootCauses(String) for more detail

Cause (1 of 1): class java.io.FileNotFoundException: No such file or directory

Cause (3 of 3): class com.bumptech.glide.load.engine.GlideException: Fetching data failed, class android.content.res.AssetFileDescriptor, LOCAL

There was 1 cause:

java.io.FileNotFoundException(No such file or directory)

call GlideException#logRootCauses(String) for more detail

Cause (1 of 1): class java.io.FileNotFoundException: No such file or directory

02-04 15:21:14.109 25281-25281/com.sarah.taxi I/Glide: Root cause (1 of 3)

java.io.FileNotFoundException: /com.google.android.gms.tasks.zzu@c0645c1: open failed: ENOENT (No such file or directory)

at libcore.io.IoBridge.open(IoBridge.java:487)

at java.io.FileInputStream.(FileInputStream.java:76)

at java.io.FileInputStream.(FileInputStream.java:103)

at android.content.ContentResolver.openInputStream(ContentResolver.java:689)

at com.bumptech.glide.load.data.StreamLocalUriFetcher.loadResourceFromUri(StreamLocalUriFetcher.java:85)

at com.bumptech.glide.load.data.StreamLocalUriFetcher.loadResource(StreamLocalUriFetcher.java:60)

at com.bumptech.glide.load.data.StreamLocalUriFetcher.loadResource(StreamLocalUriFetcher.java:15)

at com.bumptech.glide.load.data.LocalUriFetcher.loadData(LocalUriFetcher.java:44)

at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:99)

at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:62)

at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:302)

at com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob.java:272)

at com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:233)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)

at java.lang.Thread.run(Thread.java:818)

at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:446)

Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)

at libcore.io.Posix.open(Native Method)

at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)

at libcore.io.IoBridge.open(IoBridge.java:473)

at java.io.FileInputStream.(FileInputStream.java:76)?

at java.io.FileInputStream.(FileInputStream.java:103)?

at android.content.ContentResolver.openInputStream(ContentResolver.java:689)?

at com.bumptech.glide.load.data.StreamLocalUriFetcher.loadResourceFromUri(StreamLocalUriFetcher.java:85)?

at com.bumptech.glide.load.data.StreamLocalUriFetcher.loadResource(StreamLocalUriFetcher.java:60)?

at com.bumptech.glide.load.data.StreamLocalUriFetcher.loadResource(StreamLocalUriFetcher.java:15)?

at com.bumptech.glide.load.data.LocalUriFetcher.loadData(LocalUriFetcher.java:44)?

at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:99)?

at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:62)?

at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:302)?

at com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob.java:272)?

at com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:233)?

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)?

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)?

at java.lang.Thread.run(Thread.java:818)?

at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:446)?

02-04 15:21:14.110 25281-25281/com.sarah.taxi I/Glide: Root cause (2 of 3)

java.io.FileNotFoundException: No such file or directory

at android.os.Parcel.openFileDescriptor(Native Method)

at android.os.ParcelFileDescriptor.openInternal(ParcelFileDescriptor.java:270)

at android.os.ParcelFileDescriptor.open(ParcelFileDescriptor.java:200)

at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:966)

at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:894)

at com.bumptech.glide.load.data.FileDescriptorLocalUriFetcher.loadResource(FileDescriptorLocalUriFetcher.java:22)

at com.bumptech.glide.load.data.FileDescriptorLocalUriFetcher.loadResource(FileDescriptorLocalUriFetcher.java:14)

at com.bumptech.glide.load.data.LocalUriFetcher.loadData(LocalUriFetcher.java:44)

at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:99)

at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:62)

at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:302)

at com.bumptech.glide.load.engine.DecodeJob.onDataFetcherFailed(DecodeJob.java:397)

at com.bumptech.glide.load.engine.SourceGenerator.onLoadFailed(SourceGenerator.java:119)

at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.startNextOrFail(MultiModelLoader.java:153)

at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.onLoadFailed(MultiModelLoader.java:144)

at com.bumptech.glide.load.data.LocalUriFetcher.loadData(LocalUriFetcher.java:49)

at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:99)

at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:62)

at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:302)

at com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob.java:272)

at com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:233)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)

at java.lang.Thread.run(Thread.java:818)

at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:446)

Root cause (3 of 3)

java.io.FileNotFoundException: No such file or directory

at android.os.Parcel.openFileDescriptor(Native Method)

at android.os.ParcelFileDescriptor.openInternal(ParcelFileDescriptor.java:270)

at android.os.ParcelFileDescriptor.open(ParcelFileDescriptor.java:200)

at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:966)

at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:894)

at com.bumptech.glide.load.data.AssetFileDescriptorLocalUriFetcher.loadResource(AssetFileDescriptorLocalUriFetcher.java:22)

at com.bumptech.glide.load.data.AssetFileDescriptorLocalUriFetcher.loadResource(AssetFileDescriptorLocalUriFetcher.java:13)

at com.bumptech.glide.load.data.LocalUriFetcher.loadData(LocalUriFetcher.java:44)

at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:62)

at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:302)

at com.bumptech.glide.load.engine.DecodeJob.onDataFetcherFailed(DecodeJob.java:397)

at com.bumptech.glide.load.engine.SourceGenerator.onLoadFailed(SourceGenerator.java:119)

at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.startNextOrFail(MultiModelLoader.java:153)

at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.onLoadFailed(MultiModelLoader.java:144)

at com.bumptech.glide.load.data.LocalUriFetcher.loadData(LocalUriFetcher.java:49)

at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:99)

at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:62)

at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:302)

at com.bumptech.glide.load.engine.DecodeJob.onDataFetcherFailed(DecodeJob.java:397)

at com.bumptech.glide.load.engine.SourceGenerator.onLoadFailed(SourceGenerator.java:119)

at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.startNextOrFail(MultiModelLoader.java:153)

at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.onLoadFailed(MultiModelLoader.java:144)

at com.bumptech.glide.load.data.LocalUriFetcher.loadData(LocalUriFetcher.java:49)

at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:99)

at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:62)

at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:302)

at com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob.java:272)

at com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:233)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)

at java.lang.Thread.run(Thread.java:818)

at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:446)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值