2016-07-06 10 views
5

तो मैं जावा 8, एंड्रॉइड एपीआई लेवल 24 और जैक टूलचैन के लिए आज एक एंड्रॉइड स्टूडियो प्रोजेक्ट माइग्रेट कर रहा था ताकि नई फीचर्स, विशेष रूप से लैम्ब्डा और CompletableFuture देख सकें।CompletableFuture?

दुर्भाग्यवश, CompletableFuture केवल एपीआई स्तर 24 से उपलब्ध है (उस परियोजना के लिए मेरा न्यूनतम एपीआई स्तर 16) उपलब्ध है।

क्या आप एंड्रॉइड समर्थन लाइब्रेरी में CompletableFuture लाने पर किसी भी योजना के बारे में जानते हैं? यह वादा पैटर्न के लिए एक अच्छा समाधान की तरह दिखता है।

+4

मुझे समर्थन पुस्तकालय के लिए Google की योजनाओं के बारे में पता नहीं है। लेकिन ध्यान दें कि 'streamsupport' प्रोजेक्ट '' CompletableFuture' का बैकपोर्ट भी' स्ट्रीम-सीफ्यूचर 'मॉड्यूल में प्रदान करता है। यह एंड्रॉइड और सभी जावा संस्करणों> = 6. पर चलता है (और नियमित रूप से परीक्षण किया जाता है) https://sourceforge.net/projects/streamsupport/ –

+0

@StefanZobel देखें यदि आप मेरी टिप्पणी को मेरे प्रश्न का उत्तर देते हैं तो मैं इसे सर्वश्रेष्ठ मानूंगा उत्तर (चूंकि यह एंड्रॉइड को कवर करता है) –

+0

धन्यवाद। ऐसा किया है निचे देखो। –

उत्तर

7

streamsupport प्रोजेक्ट CompletableFuture का streamsupport-cfuture घटक में बैकपोर्ट प्रदान करता है जिसका उपयोग एंड्रॉइड डेवलपमेंट के लिए किया जा सकता है, जो सभी उपकरणों पर समर्थित है।

3

संबंधित है और शायद उपयोगी आप के लिए: Java: Optimizing an application using asynchronous programming

इस उत्तर पुस्तकालय ऊपर टिप्पणी में उल्लेख किया है, एंड्रॉयड पर नहीं का उपयोग कर जावा 7 पर CompletableFuture बारे में है। हालांकि, lib के दस्तावेज़ में कहा गया है कि यह एंड्रॉइड पर काम करता है। हालांकि मैंने इसे स्वयं इस्तेमाल नहीं किया है।

+1

यह एक टिप्पणी होना चाहिए। –

+0

एंड्रॉइड पर काम नहीं करता है। एपीआई 24 अभी भी आवश्यक है, जो मूल मुद्दा है। – Bisclavret

+0

@ बिस्क्लेवेट मैं [streamsupport] (https://sourceforge.net/projects/streamsupport/) के बारे में बात कर रहा था जिसका उल्लेख उस उत्तर में किया गया है (विशेष रूप से 'streamsupport-cfuture' घटक)। उसमें केवल एपीआई स्तर 14 या 15 की आवश्यकता होती है और यह बहुत अच्छी तरह से काम करता है। – Sartorius

संबंधित मुद्दे