Java 向firebase实时数据库添加不同的两个图像
我想通过Android应用程序向数据库添加两张不同的照片。但是,当我为第一张照片选择一张照片时,它会为两张照片放置相同的照片,并以相同的方式保存。我的密码在下面。我为两张不同的照片定义了两个单独的imageview,但它不起作用。我能做什么Java 向firebase实时数据库添加不同的两个图像,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我想通过Android应用程序向数据库添加两张不同的照片。但是,当我为第一张照片选择一张照片时,它会为两张照片放置相同的照片,并以相同的方式保存。我的密码在下面。我为两张不同的照片定义了两个单独的imageview,但它不起作用。我能做什么 mDenemeImage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {
mDenemeImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, 1);
}
});
mDenemeImage2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK);
i.setType("image/*");
startActivityForResult(i, 1);
}
});
private void getUserInfo(){
mDriverDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists() && dataSnapshot.getChildrenCount()>0){
Map<String, Object> map = (Map<String, Object>) dataSnapshot.getValue();
if(map.get("profileDenemeUrl")!=null){
mprofileDenemeUrl = map.get("profileDenemeUrl").toString();
Glide.with(getApplication()).load(mprofileDenemeUrl).into(mDenemeImage);
}
if(map.get("profileDenemeUrl2")!=null){
mprofileDenemeUrl2 = map.get("profileDenemeUrl2").toString();
Glide.with(getApplication()).load(mprofileDenemeUrl2).into(mDenemeImage2);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
private void saveUserInformation() {
Map userInfo = new HashMap();
mDriverDatabase.updateChildren(userInfo);
if(resultUri != null) {
final StorageReference filePath = FirebaseStorage.getInstance().getReference().child("profile_arac").child(userID);
final StorageReference filePath2 = FirebaseStorage.getInstance().getReference().child("profile_arac2").child(userID);
Bitmap bitmap = null;
try {
bitmap = MediaStore.Images.Media.getBitmap(getApplication().getContentResolver(), resultUri);
} catch (IOException e) {
e.printStackTrace();
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 20, baos);
byte[] data = baos.toByteArray();
UploadTask uploadTask = filePath.putBytes(data);
UploadTask uploadTask2 = filePath2.putBytes(data);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
finish();
return;
}
});
uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
filePath.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
Map newImage = new HashMap();
newImage.put("profileDenemeUrl", uri.toString());
mDriverDatabase.updateChildren(newImage);
finish();
return;
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
finish();
return;
}
});
}
}); uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
finish();
return;
}
});
uploadTask2.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
filePath2.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
Map newImage2 = new HashMap();
newImage2.put("profileDenemeUrl2", uri.toString());
mDriverDatabase.updateChildren(newImage2);
finish();
return;
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
finish();
return;
}
});
}
}); uploadTask2.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
finish();
return;
}
});
}
else{
finish();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1 && resultCode == Activity.RESULT_OK){
final Uri imageUri = data.getData();
resultUri = imageUri;
mDenemeImage.setImageURI(resultUri);
mDenemeImage2.setImageURI(resultUri);
}
}
mDenemeImage.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
意向意向=新意向(意向、行动和选择);
intent.setType(“image/*”);
startActivityForResult(意向,1);
}
});
mDenemeImage2.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
意向i=新意向(意向、行动和选择);
i、 setType(“image/*”);
startActivityForResult(i,1);
}
});
私有void getUserInfo(){
mDriverDatabase.addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
if(dataSnapshot.exists()&&dataSnapshot.getChildrenCount()>0){
Map Map=(Map)dataSnapshot.getValue();
if(map.get(“profileDenemeUrl”)!=null){
mprofileDenemeUrl=map.get(“profileDenemeUrl”).toString();
Glide.with(getApplication()).load(mprofileDenemeUrl).into(mDenemeImage);
}
if(map.get(“profileDenemeUrl2”)!=null){
mprofileDenemeUrl2=map.get(“profileDenemeUrl2”).toString();
Glide.with(getApplication()).load(mprofileDenemeUrl2).into(mDenemeImage2);
}
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
}
私有void saveUserInformation(){
Map userInfo=newhashmap();
mDriverDatabase.updateChildren(userInfo);
if(resultUri!=null){
最终的StorageReference文件路径=FirebaseStorage.getInstance().getReference().child(“profile_arac”).child(userID);
final StorageReference filePath2=FirebaseStorage.getInstance().getReference().child(“profile_arac2”).child(userID);
位图=空;
试一试{
位图=MediaStore.Images.Media.getBitmap(getApplication().getContentResolver(),resultUri);
}捕获(IOE异常){
e、 printStackTrace();
}
ByteArrayOutputStream bas=新的ByteArrayOutputStream();
压缩(bitmap.CompressFormat.JPEG,20,baos);
字节[]数据=baos.toByteArray();
UploadTask UploadTask=filePath.putBytes(数据);
UploadTask uploadTask2=filePath2.putBytes(数据);
uploadTask.addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
完成();
返回;
}
});
uploadTask.addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){
filePath.getDownloadUrl().addOnSuccessListener(新OnSuccessListener()){
@凌驾
成功时的公共无效(Uri){
Map newImage=newhashmap();
put(“profileDenemeUrl”,uri.toString());
mDriverDatabase.updateChildren(newImage);
完成();
返回;
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常){
完成();
返回;
}
});
}
});uploadTask.addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
完成();
返回;
}
});
uploadTask2.addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){
filePath2.getDownloadUrl().addOnSuccessListener(新OnSuccessListener()){
@凌驾
成功时的公共无效(Uri){
Map newImage2=newhashmap();
newImage2.put(“profileDenemeUrl2”,uri.toString());
mDriverDatabase.updateChildren(newImage2);
完成();
返回;
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常){
完成();
返回;
}
});
}
});uploadTask2.addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
完成();
返回;
}
});
}
否则{
完成();
}
}
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
if(requestCode==1&&resultCode==Activity.R
mDenemeImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, 1);
}
});
mDenemeImage2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK);
intent.setType("image/*"); startActivityForResult(i, 2);
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1 && resultCode == RESULT_OK){
Uri imageUri1 = data.getData();
resultUri1 = imageUri1;
mDenemeImage.setImageURI(resultUri1);
}
if (requestCode == 2 && resultCode == RESULT_OK)
{
Uri imageUri2 = data.getData();
resultUri2 = imageUri2;
mDenemeImage2.setImageURI(resultUri2);
}
}