Причина: com.google.firebase.database.DatabaseException: Неверный путь к базе данных Firebase: https://firebasestorage.googleapis.com/v0/b/finga-40dbf.appspot.com/o/Chats%2F1569093478186.null?alt=media&token=e8112923-0b4e-4e0c-a972-d9cce8fd50d5. Пути к базе данных Firebase не должны содержать '.', '#', '$', '[
Привет, я новичок в студии android и у меня проблема. когда я нажимаю на изображение, которое я хочу, чтобы оно появилось в «LargeImgMsgActivity», и я получаю сообщение об ошибке выше, пожалуйста, помогите мне
ChatDB_Image_here 
MessageAdapter
package com.developer.fireone.finga.Adapter;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target;
import com.developer.fireone.finga.LargeImgMsgActivity;
import com.developer.fireone.finga.Model.Chat;
import com.developer.fireone.finga.R;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import java.util.List;
import static java.security.AccessController.getContext;
/**
* Created by user on 01/02/2019.
*/
public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.ViewHolder>{
public final static int MSG_TYPE_LEFT=0;
public final static int MSG_TYPE_RIGHT=1;
private Context mContext;
private List<Chat> mChat;
private String imageurl;
FirebaseUser fuser;
public MessageAdapter(Context mContext, List<Chat> mChat, String imageurl) {
this.mContext = mContext;
this.mChat = mChat;
this.imageurl = imageurl;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
if(viewType==MSG_TYPE_RIGHT) {
View view = LayoutInflater.from(mContext).inflate(R.layout.chat_item_right, viewGroup, false);
return new MessageAdapter.ViewHolder(view);
}
else {
View view = LayoutInflater.from(mContext).inflate(R.layout.chat_item_left, viewGroup, false);
return new MessageAdapter.ViewHolder(view);
}
}
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
Chat chat = mChat.get(position);
holder.show_message.setVisibility(View.GONE);
holder.show_img.setVisibility(View.GONE);
if(chat.getType().equals("message")) {
holder.show_message.setText(chat.getMessage());
holder.show_message.setTextIsSelectable(true);
holder.show_message.setVisibility(View.VISIBLE);
}
else {
Glide.with(mContext.getApplicationContext()).load(chat.getMessage())
.placeholder(R.drawable.ic_img_font).into(holder.show_img);
holder.show_img.setVisibility(View.VISIBLE);
//click here to show image to LargeImgMsgActivity...
holder.show_img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, LargeImgMsgActivity.class);
intent.putExtra("image", chat.getMessage());
mContext.startActivity(intent);
}
});
}
holder.txt_date.setText(chat.getDate());
holder.txt_time.setText(chat.getTime());
// delete msg
holder.msglayout.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
return false;
}
});
if(imageurl.equals("default")){
holder.profile_image.setImageResource(R.drawable.ic_person);
}else{
Glide.with(mContext).load(imageurl).into(holder.profile_image);
}
if(position == mChat.size()-1){
if(chat.isIsseen()){
holder.txt_seen.setText(R.string.strSeen);
}else{
holder.txt_seen.setText(R.string.strDelivred);
}
}else{
holder.txt_seen.setVisibility(View.GONE);
}
}
@Override
public int getItemCount() {
return mChat.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
public TextView show_message;
public ImageView profile_image;
public ImageView show_img;
public TextView txt_date;
public TextView txt_time;
public TextView txt_seen;
public RelativeLayout msglayout;
public ViewHolder(@NonNull View itemView) {
super(itemView);
show_message=itemView.findViewById(R.id.show_message);
show_img=itemView.findViewById(R.id.show_img);
profile_image=itemView.findViewById(R.id.profile_image);
txt_date=itemView.findViewById(R.id.txt_date);
txt_time=itemView.findViewById(R.id.txt_time);
txt_seen=itemView.findViewById(R.id.txt_seen);
msglayout=itemView.findViewById(R.id.msglayout);
}
}
@Override
public int getItemViewType(int position) {
fuser= FirebaseAuth.getInstance().getCurrentUser();
if(mChat.get(position).getSender().equals(fuser.getUid())){
return MSG_TYPE_RIGHT;
}else {
return MSG_TYPE_LEFT;
}
}
}
LargeImgMsgActivity
package com.developer.fireone.finga;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.developer.fireone.finga.Model.Chat;
import com.developer.fireone.finga.Model.User;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import static java.security.AccessController.getContext;
public class LargeImgMsgActivity extends AppCompatActivity {
ImageView image_msg;
Intent intent ;
String id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_large_img_msg);
image_msg=findViewById(R.id.show_img_msg);
intent = getIntent();
id = intent.getStringExtra("image");
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Chats").child("Chats").child(id);
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(getContext() == null){
return;
}
final Chat chat = dataSnapshot.getValue(Chat.class);
Glide.with(getApplicationContext()).load(chat.getMessage()).placeholder(R.drawable.ic_person).into(image_msg);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}