मैं वर्तमान में पिकासो और OkHttp उपयोग कर रहा हूँ का उपयोग कर बिटमैप कैश की गई। मैं क्या करना चाहता हूं एक विशिष्ट कैश्ड बिटमैप पुनर्प्राप्त करें, उस पर ड्रॉ करें, और उसके बाद इसे बिटमैप पर वापस मेमोरी और डिस्क कैश में डालें। मेरा कार्यान्वयन बहुत मानक है, मैं केवल लक्ष्य का उपयोग कर रहा हूं और लोड किए गए बिटमैप को एक कस्टम छवि दृश्य में जोड़ रहा हूं जो ग्रिड व्यू में रहता है। मैं चारों ओर देख रहा हूं और मुझे ऐसा करने का कोई तरीका नहीं दिख रहा है। क्या ये पुस्तकालय भी इस तरह कुछ समर्थन करते हैं?अपडेट/परिवर्तन मेरी बिटमैप कैशिंग के लिए पिकासो और OkHttp
उत्तर
पिकासो सिर्फ कैशिंग को डाउनलोड करने और छवि प्रदर्शित करने के लिए पुस्तकालय है (परिवर्तनों की तरह सुविधाएं के साथ, आदि fading क्रॉस) संपादन के लिए नहीं । ऐसा लगता है कि आपको पिकासो उपयोग के दायरे से बाहर जाना प्रतीत होता है।
मैं कहना चाहता हूँ आप अभी भी छवि डाउनलोड करने के लिए पिकासो उपयोग कर सकते हैं यदि आप चाहते हैं, लेकिन जब आप एक बिटमैप मिल संग्रहीत करते हैं यह संस्करण संशोधित है है कि आपके अनुप्रयोग है। तो जब कोई उपयोगकर्ता इसे चित्रित करता है तो आपको इसे स्थानीय रूप से फ़ाइल में संग्रहीत करना होगा (यदि यह एक बड़ी छवि है तो आप ग्रिड व्यू के लिए अलग-अलग छोटे थंबनेल भी बना सकते हैं) और इस संस्करण का उपयोग करें। एक फाइल करने के लिए बदल बिटमैप सामग्री बचाने के लिए आप
outBitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
कॉल कर सकते हैं आप अपने GridView पिकासो भी उपयोग करते हुए स्थानीय फ़ाइलें लोड कर सकते हैं: Picasso.with(context).load("fileUrl").into(mImageView);
। तो आपके कोड में आप जांच करेंगे कि क्या आपके पास स्थानीय संपादित संस्करण है और इसे पिकासो का उपयोग करके स्थानीय फ़ाइल से लोड करें या अन्यथा पिकासो का उपयोग करके सर्वर से लोड करें।
आप सर्वर पर छवि को बचाने के लिए चाहते हैं, तो आप इसे सर्वर को भेज सकते हैं उपयोगकर्ता के बाद यह संपादन किया। फिर पिकासो + ओकेएचटीपी इसे फिर से डाउनलोड करेगा (मान लीजिए कि आपने सर्वर पर ईटीएजी जैसे http कैश विशेषताओं को अपडेट किया है)।
एक पिकासो परिवर्तन का उपयोग करें।
पिकासो की कार्यप्रवाह इस तरह है:
- नेटवर्क से
- कैश स्मृति/कैश में रॉ इमेज
- वैकल्पिक परिवर्तन (रों) लागू छवि हो और भी उन परिणामों को कैश
तो आपके मामले में आप देखेंगे कि आपके बिटमैप बदल एक कस्टम परिवर्तन बनाने के लिए की आवश्यकता होगी। दूसरी बार जब आप इस विशिष्ट परिवर्तन के साथ बिटमैप का अनुरोध करते हैं, तो इसे कैश से लोड किया जाएगा।
public class YourTransformation implements com.squareup.picasso.Transformation {
@Override
public Bitmap transform (final Bitmap source) {
final Paint paint = new Paint();
Bitmap output = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
// DO YOUR DRAWING STUFF ON CANVAS
if (source != output) {
source.recycle();
}
return output;
}
@Override
public String key() {
return "customTransformation" + SOME_UNIQUE_IDENTIFIER
}
}
कुंजी() विधि को ओवरराइड करना न भूलें क्योंकि कैसा प्रविष्टि उत्पन्न करने के लिए पिकासो इसका उपयोग करता है।
अपने कोड में आप बस अपने सामान्य पिकासो अनुरोध के साथ इसका इस्तेमाल कर सकते हैं:
picasso.load(url).transform(new YourTransformation()).into(imageView);
उपयोगकर्ता उस पर एक ड्राइंग होगा और वे संभवतः कई बार उस पर ड्राइंग किया जाएगा। तो मुझे नहीं पता कि यह कैसे तैयार किया जाएगा। – Papajohn000
- 1. कैसे डाउनलोड करने के लिए और कैशिंग बिटमैप पिकासो पुस्तकालय
- 2. पिकासो डिस्क कैशिंग
- 3. पिकासो
- 4. पिकासो
- 5. पिकासो
- 6. पिकासो
- 7. पिकासो
- 8. OKHttp
- 9. बिटमैप
- 10. okhttp
- 11. okhttp
- 12. धीमा पिकासो
- 13. OkHttp 2.2 और इंटरसेप्टर
- 14. RxJava और Okhttp
- 15. पिकासो
- 16. पिकासो
- 17. बिटमैप
- 18. पिकासो
- 19. पिकासो
- 20. पिकासो बाइट सरणी
- 21. एंड्रॉयड OKHttp
- 22. चित्र पिकासो लाइब्रेरी
- 23. पिकासो लोडिंग सभी फोन फोटो के थंबनेल
- 24. पिकासो लाइब्रेरी
- 25. एंड्रॉइड Okhttp asynchronous कॉल
- 26. Django क्यों django.views.static.serve के साथ मेरी स्थिर कैशिंग है?
- 27. एक छवि दृश्य का उपयोग किये बिना पिकासो के साथ बिटमैप कैसे लोड करें?
- 28. लोड जेपीजी/जीआईएफ/बिटमैप और बिटमैप
- 29. क्यों उपयोग रेट्रोफिट जब हम OkHttp साथ OkHttp
- 30. रिस्पांस (रेट्रोफिट/OkHttp क्लाइंट)
तो आप कह रहे हैं कि ओकेएचटीपी/पिकासो द्वारा उपयोग की जाने वाली डिस्क कैश की तुलना में कहीं और संपादित बिटमैप्स को सहेजें। फिर बस जांचें कि उस स्थिति पर बिटमैप अपडेट किया गया है या नहीं। अगर यह वैकल्पिक स्थानीय फ़ाइल से लोड हो गया है? – Papajohn000
मैं ऐसा कुछ करूंगा। – EvilDuck