में फायरबेस भंडारण छवियों को प्रदर्शित करना हाय मैंने अपने फायरबेस डेटाबेस से बेस 64 का उपयोग करके एक छवि प्रदर्शित करने के बारे में पहले के प्रश्न पूछा। फायरबेस भंडारण का उपयोग करने की सिफारिश की गई थी। मैंने अपना कोड दोबारा बनाया और सबकुछ फायरबेस स्टोरेज और डाटाबेस में लोड हो गया जैसा इसे करना चाहिए। मेरे पास यह मुद्दा है जब मैं डेटा को सहेजता हूं, मेरे रीसाइक्लर्व में कुछ भी नहीं आता है। सब कुछ खाली है।रीसाइक्लिंग व्यू
कोई भी मदद जो आप मुझे काम पर लाने के लिए प्रदान कर सकते हैं वह बहुत अच्छा होगा। धन्यवाद।
संपादित करें: मेरी गतिविधि कक्षा में मैं कैमरा सक्रिय करने के लिए बटन क्लिकलिस्टर को कॉल कर रहा हूं। एक बार तस्वीर लेने के बाद इसे फायरबेस स्टोरेज में सहेजा जाता है। फिर मैं इसे स्टोरेज से छवि डाउनलोड करता हूं और इसे रीसाइक्लर्व में प्रदर्शित करता हूं। मैं अपलोडिंग हिस्से को समझता हूं लेकिन मुझे डाउनलोड करने और प्रदर्शित करने वाले हिस्से को समझने में कठिनाई हो रही है। धन्यवाद।
viewholder: बाँध विधि
public void bind (ImageProgress progress){
Glide.with(activity).load("").into(image);
}
}
एडाप्टर
@Override
public ProgressViewHolder onCreateViewHolder(ViewGroup parent, int viewType){
return new ProgressViewHolder(activity, activity.getLayoutInflater().inflate(R.layout.weight_progress_list, parent, false));
मुख्य गतिविधि वर्ग
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.weight_progress);
saveButton = (Button) findViewById(R.id.saveButton);
progressStatusEditText = (EditText) findViewById(R.id.progressStatusEditText);
progressList = (RecyclerView) findViewById(R.id.progressList);
mImageButton = (ImageButton) findViewById(R.id.takePictureButton);
capturedImage=(ImageView)findViewById(R.id.capturedImageView);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
progressList.setHasFixedSize(false);
progressList.setLayoutManager(layoutManager);
//take picture button
mImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openCamera();
}
});
mDatabaseReference = database.getReference("Progress");
saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//get current user
FirebaseUser user =FirebaseAuth.getInstance().getCurrentUser();
String uid = user.getUid();
ImageProgress progress = new ImageProgress(uid, progressStatusEditText.getText().toString());
mDatabaseReference.push().setValue(progress);
progressStatusEditText.setText("");
}
});
}
private void openCamera() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, REQUEST_IMAGE_CAPTURE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Uri cameraImageURI = data.getData();
//reference where images will be stored
mStorageReference = storage.getReference("Progress Images");
//reference to store file
final StorageReference cameraImageRef = mStorageReference.child(cameraImageURI.getLastPathSegment());
//upload to firebase storage
cameraImageRef.putFile(cameraImageURI)
.addOnSuccessListener(this, new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Uri downloadUrl = taskSnapshot.getDownloadUrl();
progressStatusEditText.setText(downloadUrl.toString());
}
});
}
अच्छा सुनें कि आपने फायरबेस स्टोरेज का उपयोग करने के लिए स्विच किया है। यह बहुत बेहतर पैमाने पर होना चाहिए। लेकिन हमारे लिए जल्दी से मदद करने के लिए यहां बहुत अधिक कोड है। आप छवियों को अपलोड करने, बटन क्लिक को संभालने, डेटाबेस से पढ़ने और बहुत कुछ प्रतीत होते हैं। इसे कम करें [समस्या को पुन: उत्पन्न करने के लिए आवश्यक न्यूनतम कोड] (http://stackoverflow.com/help/mcve) और हमारे पास आपकी सहायता करने में सक्षम होने का एक बेहतर मौका होगा। –
@ फ्रैंकवन पफेलन हाय फ्रैंक, मैंने आशा व्यक्त की है कि मेरी समस्या कहां है। मैंने अपनी समस्या के बारे में और विवरण जोड़ा है। मदद के लिए आपका अग्रिम धन्यवाद। – hozdaman
@ फ्रैंकवन पफेलन हाय, मैं सोच रहा था कि क्या आपको मेरे संपादित कोड को देखने का मौका मिला है? धन्यवाद। – hozdaman