// 1..i我想将一个活动的图片和另一活动的数据发送到具有1个相同ID的同一数据库Firebase中,而不是创建2个不同的ID(一个用于图片,另一个用于数据(名称,通知等,如下所述) ))enter image description here这是一个用于将不同活动数据存储到同一个id Firebase中的想法..这不是我的示例,但是我有相同的问题...但是我不想要两个ID,我也想要一个用于Pic Uri和数据的ID 。// 2 ...这是我的第一个活动。.在此活动中,我有相机捕获图像,然后将此Pic Uri发送到上载类(gettersetter类)以存储到数据库firebase中。在这里,我已将pic Uri发送到了吸油烟机班。
popQuickActivity.java
if(imgUri!=null){
final ProgressDialog progressDialog=new ProgressDialog(this);
progressDialog.setTitle("Uploading.....");
progressDialog.show();
StorageReference fileReference=mStorageRef.child(System.currentTimeMillis()+"." +getFileExtension(imgUri));
fileReference.putFile(imgUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Handler handler=new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
progressDialog.dismiss();
}
},500);
Toast.makeText(popQuickActivity.this, "Uploaded successfull", Toast.LENGTH_LONG).show();
String downloadUrl = taskSnapshot.getDownloadUrl().toString();
upload upload=new upload(downloadUrl);
String uploadId=mDatabaseRef.push().getKey();
mDatabaseRef.child(uploadId).setValue(upload);
}
//这是我的上载(gettersetter类)... img uri在这里
upload.java
公开类上传{
private String mImageUri;
private String mNoticeNo;
private String mName;
private String mDate;
private String mCharge;
private String mDescription;
private String mCnic;
public upload(){
}
public upload(String name, String noticeNo, String date, String amountCharge, String des, String cnic, String description) {
if(description.trim().equals("")){
description="No Description";
}
mName=name;
mCharge=amountCharge;
mDate=date;
mCnic=cnic;
mNoticeNo=noticeNo;
mDescription=description;
}
public upload(String downloadUrl) {
mImageUri=downloadUrl;
}
public String getmImageUri() {
return mImageUri;
}
public void setmImageUri(String mImageUri) {
this.mImageUri = mImageUri;
}
public String getmNoticeNo() {
return mNoticeNo;
}
public void setmNoticeNo(String mNoticeNo) {
this.mNoticeNo = mNoticeNo;
}
public String getmName() {
return mName;
}
public void setmName(String mName) {
this.mName = mName;
}
public String getmDate() {
return mDate;
}
public void setmDate(String mDate) {
this.mDate = mDate;
}
public String getmCharge() {
return mCharge;
}
public void setmCharge(String mCharge) {
this.mCharge = mCharge;
}
public String getmDescription() {
return mDescription;
}
public void setmDescription(String mDescription) {
this.mDescription = mDescription;
}
public String getmCnic() {
return mCnic;
}
public void setmCnic(String mCnic) {
this.mCnic = mCnic;
}
}
//这是我的另一项活动..在这里,我正在将数据(名称,noticeNo,日期等)发送到Firebase中相同位置的gettersetter类(upload类)...但是它正在创建两个不同的id,而不是创建一个id并存储img和数据都在同一个ID中。
QuickChallan.java
public void doIt(View view){
String Name=name.getText().toString().trim();
String NoticeNo=noticeno.getText().toString().trim();
String Cnic=cnic.getText().toString().trim();
String AmountCharge=amountcharge.getText().toString().trim();
String Date=date.getText().toString().trim();
String Des=des.getText().toString().trim();
upload upload=new upload(Name,NoticeNo,Date,AmountCharge,Des,Cnic,Des);
String uploadId=mDatabaseRef.push().getKey();
mDatabaseRef.child(uploadId).setValue(upload);
}
它创建两个随机ID,因为在活动popQuickActivity.java
中您正在创建一个ID,并将其存储在变量uploadId
中。