[英]how to send image Uri from One activity and data from another activity into firebase in gettersetter class
/*her my ImgeUri will go to gettersetter class(upload) from on activity and from another acitivty my data(name,cnic) go to same gettersetter class(upload) but it creates 2 different ids in firebaseDatabase ,1st for imageuri and 2nd for data(hamza,email,cnic)...i need both to imagruri and data to save in same id...i have given full detaill below..*/
// 下面一個是我的第一個活動通過上傳類(gettersetter 類)將imgeUri 發送到firebase
private void uploadFile(){
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();
upload upload=new upload(taskSnapshot.getDownloadUrl().toString());
String uploadId=mDatabaseRef.push().getKey();
mDatabaseRef.child(uploadId).setValue(upload);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(popQuickActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
}
}).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
double progress=(100.0 *taskSnapshot.getBytesTransferred() /taskSnapshot.getTotalByteCount());
progressDialog.setMessage("Uploaded"+(int)progress+"%");
}
});
}else {
Toast.makeText(this, "No file Selected", Toast.LENGTH_SHORT).show();
}
}
}
//...............................................................................
//this one is 2nd activity which send data to firebase through upload class(gettersetter class)
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);
String uploadId=mDatabaseRef.push().getKey();
mDatabaseRef.child(uploadId).setValue(upload);
}
....................................................................
//this one is my upload class(gettersetter)
package com.example.syedhamzahanif.copproject;
public class upload {
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 imguri){
mImageUri=imguri;
}
public upload(String name,String noticeNo,String date,String charge,String description,String cnic){
if(description.trim().equals("")){
description="No Description";
}
mName=name;
mCharge=charge;
mDate=date;
mCnic=cnic;
mNoticeNo=noticeNo;
mDescription=description;
}
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;
}
}
//.................................................................
pls tell me how to store imguri and data both in same id thorugh diff activities..
在 kotlin 中很容易,你有特殊的數據類型Any
在 Java 中,我認為您可以使用泛型類型Java 泛型來做到這一點
您可以將一個活動之間的位圖發送到另一個活動,但完全不建議這樣做,相反,您可以使用 firebase URL 並將其從一個活動傳遞到另一個活動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.