- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个应用程序,让用户通过按 ImageView 来更改他/她的图像,该图像将来自他/她的图库并将上传到我的 FirebaseStorage
中。用户的个人详细信息单独上传到 FirebaseDatabase
中,然后添加 ImageUrl。在我选择图像后,我收到错误 java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.app.Activity.isDestroyed()' on a null object reference
从图库中继续上传图像,但即使出现错误,图像仍会上传到我的 FirebaseStorage
中,并且 ImageUrl 会在用户的详细信息中更新。重新启动应用程序实际上会显示我刚刚上传的图像。错误在 Glide.with(getActivity())
部分指出。我的 FirebaseDatabase.addValueEventListener
中有我的 Glide.with。我该如何解决这个问题?
Đây là của tôionCreateView
,onRequestPermissionsResult
VàonActivityResult
的部分代码
@Ghi đè
công khai Xem trênCreateView(LayoutInflater inflater, ViewGroup container,
Gói savedInstanceState) {
// Inflate the layout for this fragment
FrameLayout rootView = (FrameLayout)inflater.inflate(R.layout.fragment_tch_profile, container, false);
mDataRef.addValueEventListener(new ValueEventListener() {
@Ghi đè
public void onDataChange(DataSnapshot dataSnapshot) {
{
tv_email.setText(dataSnapshot.child("email").getValue(String.class));
tv_name.setText(dataSnapshot.child("name").getValue(String.class));
tv_gs.setText(dataSnapshot.child("cassSection").getValue(String.class));
if(dataSnapshot.hasChild("tImage")){
Glide.with(getActivity())
.load(dataSnapshot.child("tImage").getValue(String.class))
.crossFade()
.placeholder(R.mipmap.ic_loader)
.thumbnail(0.1f)
.diskCacheStrategy(DiskCacheStrategy. TẤT CẢ)
.into(iv_image);
}
}
else {
}
}
@Ghi đè
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(getActivity(),"The read failed: " + databaseError.getCode(),Toast.LENGTH_SHORT).show();
}
});
trả về rootView;
}
@Ghi đè
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case READ_EXTERNAL_STORAGE:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
callGallery();
return;
}
}
@Ghi đè
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GALLERY_INTENT && resultCode == RESULT_OK) {
mImageURI = data.getData();
iv_image.setImageURI(mImageURI);
StorageReference filePath = mStorageRef.child("userImage").child(mImageURI.getLastPathSegment());
filePath.putFile(mImageURI).addOnSuccessListener(new OnSuccessListener() {
@Ghi đè
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Uri downloadUri = taskSnapshot.getDownloadUrl(); //Ignore This error
mDataRef.child("tImage").setValue(downloadUri.toString());
}
});
}
}
private void callGallery() {
Intent i = new Intent(Intent.ACTION_PICK);
i.setType("image/*");
startActivityForResult(i, GALLERY_INTENT);
}
这是 Logcat:
FATAL EXCEPTION: main
Process: kayaba.akihiro.educ_games, PID: 4502
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.app.Activity.isDestroyed()' on a null object reference
at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRetriever.java:133)
at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:102)
at com.bumptech.glide.Glide.with(Glide.java:653)
at kayaba.akihiro.educ_games.TchProfile$3.onSuccess(TchProfile.java:169)
at kayaba.akihiro.educ_games.TchProfile$3.onSuccess(TchProfile.java:161)
at com.google.firebase.storage.zzi.zzi(Unknown Source)
at com.google.firebase.storage.zzz.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
1 Câu trả lời
根据 @ADM 评论,我尝试在 fragment 分离时删除 ValueEventListener,它确实解决了问题。
以下是添加的代码以供将来引用:
ValueEventListener mListener;
DatabaseReference mDataRef;
@Ghi đè
công khai Xem trênCreateView(LayoutInflater inflater, ViewGroup container,
Gói savedInstanceState) {
// Inflate the layout for this fragment
FrameLayout rootView = (FrameLayout)inflater.inflate(R.layout.fragment_tch_profile, container, false);
mListener = mDataRef.addValueEventListener(new ValueEventListener() {
@Ghi đè
public void onDataChange(DataSnapshot dataSnapshot) {
{
//SOME CODES HERE
}
@Ghi đè
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(getActivity(),"The read failed: " + databaseError.getCode(),Toast.LENGTH_SHORT).show();
}
});
trả về rootView;
}
@Ghi đè
public void onDetach() {
super.onDetach();
if(mDataRef!=null && mListener!=null){
mDataRef.removeEventListener(mListener);
}
}
关于java - 在 Fragment 中使用 Glide 以及 FirebaseDatabase 和 Storage 会导致 Glide.with(getActivity) Null 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48487617/
所以,我是 Firebase 的新手,我正在关注这个人关于如何将 Swift 应用连接到 Firebase 的教程,这对他来说完全没问题。但是当我尝试导入“FirebaseDatabase”时,它给了
friend 们,我安装名为用于选择国家/地区的 SwiftCountrySelector,但在安装 pod 后我收到名为 FirebaseDatabase/FirebaseDatabase.h 的错
如何在适用于 Android 的新 FirebaseDatabase API 中设置 FirebaseDatabase 的缓存大小? 我只是将我的遗留代码更新到新版本,旧设置是: Fireba
我看到了 databaseReference 和 FirebaseDatabase 之间的一些差异,例如:databaseReference 用于所有数据库操作,但我想了解更多主要差异。 最佳答案 这
我正在使用带有 Firebase 数据库的 Swift 3 开发 iOS 应用。 我的播客文件: target 'MyApp' do # Comment the next line if you'
我正在将数据从 js.function 发送到 Firebase 数据库。数据由两个字符串和1个数据/时间变量组成,js函数的源代码如下: $('#send_button').click(functi
我想知道是否可以使用 FirebaseDatabase 方法为全局变量赋值。我知道 FirebaseDatabase 方法是异步的,并且在后台执行,不会阻塞主线程。但我陷入了在 onDataChang
我有一个问题,我不能只得到最近添加的 child 。 这是我的数据库: 这是我的测试代码: val db = FirebaseDatabase.getInstance().reference
removeAllObservers() 是否仅删除其调用的 DatabaseReference 实例的所有观察者,或指定路径上的任何引用? 例如: MainController.swift let
我正在尝试使用简单的搜索栏 (EditText) 按用户名搜索存储在我的 firebase 数据库中的用户,并在单击按钮时显示该特定用户 我的 findfriends.java 文件中有以下代码 pu
这个问题在这里已经有了答案: how to stop the items duplication in recyclerView android (2 个答案) How do I clear an
我使用 firebase 数据库,在我的应用程序中我将一些数据放入数据库中,但问题是我没有检索这些数据。使用此代码,我希望使用唯一的用户名进行注册,但是当我将数据放入注册 Activity 时,具有相
我正在从 firebase 数据库中检索所有用户并将它们显示在 recyclerView 中。它显示城镇、用户名和图像。我能够检索,但它只显示一个用户而不是所有用户。数据库有很多用户,但只显示一个。任
我正在制作一个应用程序,在该应用程序中,用户登录,我存储他们的信息;但是,我注意到在他们注册后我没有用户的密码信息。在通过 Firebase 注册时存储用户密码是个好主意吗?有什么地方我需要他们的密码
我正在尝试使用 Flutter 在 firebase 数据库中运行事务,但出现错误,有人可以帮我解决这个问题吗? 代码: ref.runTransaction((MutableData transac
这个问题已经有答案了: Should FirebaseDatabase.getInstance() be used sparingly? (1 个回答) 已关闭 6 年前。 使用 Firebase 开
我正在尝试访问 shrubs 子项,并在 shrubs 下的每个唯一键下访问键值对,例如键:ShrubbedWord 值:yfyj 我已经尝试过,但我什么也没得到:- postsData = Fire
我希望我的 Firebase 数据库使用用户个人资料图片 URL 进行初始化我尝试添加此内容,但我认为 profileImageUrl 变量未使用 ImageUri 变量进行初始化?请帮助完成这件事.
所以我目前正在开发像snapchat这样的克隆,我正在向服务器发送拉取请求,但至于下载,进展并不顺利。我创建了一个对数据库的引用,如下所示, var recievers: FIRDatabaseRef
想要将此代码连接到 FirebaseDatabase。但我在连接时遇到错误。 错误:- 无法将“[Datasnapshot]”类型的值转换为预期的参数类型“UView”。 Below is Code
Tôi là một lập trình viên xuất sắc, rất giỏi!