सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।
एक फ्लटर प्लगइन जो एंड्रॉइड-विशिष्ट प्लेटफॉर्म एपीआई के लिए एक्सेस प्रदान करता है, जिससे डेवलपर्स फ्लटर ऐप में मूल एंड्रॉइड कार्यक्षमता का उपयोग कर सकते हैं। एक ही पैकेज में एंड्रॉइड बाइंडिंग को केंद्रीकृत करके, यह कोड दोहराव को कम करता है और प्रोजेक्ट्स के बीच विकास को सुगम बनाता है। प्लगइन को फ्लटर के प्लेटफॉर्म चैनल सिस्टम के साथ बिना किसी अड़चन के एकीकृत करने के लिए डिज़ाइन किया गया है, जिससे डार्ट और मूल एंड्रॉइड कोड के बीच कुशल संचार संभव होता है। यह एंड्रॉइड के लिए विशिष्ट उपकरण-स्तरीय विशेषताओं और सिस्टम इंटरैक्शन का समर्थन करता है।
उपयोग
Android-विशिष्ट प्रणाली विशेषताओं को प्राप्त करना
मूल एंड्रॉइड लाइब्रेरी का एकीकरण
Flutter प्रोजेक्ट्स के बीच कोड डुप्लिकेशन को कम करना
प्लेटफॉर्म-अनुकूलित Android अनुभव बनाएं
Flutter से उन्नत डिवाइस नियंत्रण सक्षम करें
मुख्य विशेषताएँ
केंद्रीकृत एंड्रॉइड API बाइंडिंग्स
नेटिव एकीकरण के लिए न्यूनतम बॉयलरप्लेट
Flutter के प्लेटफॉर्म चैनल का समर्थन करता है
रखरखाव के लिए डिज़ाइन किया गया
ओपन-सोर्स और समुदाय द्वारा संचालित
इनके लिए उपयुक्त
Android-केंद्रित Flutter विकासकर्ता
कई फ्लटर ऐप्स को बनाए रखने वाली टीमें
गहन एंड्रॉइड एकीकरण की आवश्यकता वाले प्रोजेक्ट
पुनरावृत्ति वाले प्लेटफॉर्म कोड से बचने वाले डेवलपर
विचार योग्य बातें
Android प्लेटफॉर्म तक सीमित
Android मूल विकास के बारे में ज्ञान की आवश्यकता है
क्रॉस-प्लेटफ़ॉर्म के लिए सिर्फ़ उपयोग के लिए उपयुक्त नहीं है
प्लेटफॉर्म चैनल के सही सेटअप पर निर्भर करता है
नए Android SDK संस्करण के लिए अपडेट की आवश्यकता हो सकती है
मूल README
संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।
Flutter Android Bindings
This is a Flutter plugin for using Android's
numerous platform-specific APIs in Flutter apps.
import'package:flutter_android/android_os.dart'showParcel;
var parcel = Parcel.obtain()
..writeBoolean(true)
..writeInt(42)
..writeDouble(3.1415)
..writeString("Hello, world!")
..writeList(<Object>[1, 2, 3])
..writeMap(<String, Object>{"a": 1, "b": 2, "c": 3});
await _channel.invokeMethod('someJavaMethod', parcel.asUint8List());
// In Java, your MethodCallHandler's call.arguments contains the marshaled Parcel
Face detection
import'package:flutter_android/android_graphics.dart'showBitmap;
import'package:flutter_android/android_media.dart'showFace, FaceDetector;
var photo = Image.asset("images/einstein.png");
var bitmap = Bitmap.fromAssetImage(photo.image asAssetImage);
var detector = FaceDetector(width: 280, height: 396);
for (var face inawait detector.findFaces(bitmap)) {
if (face.confidence < Face.CONFIDENCE_THRESHOLD) {
continue; // skip dubious results below the cut-off threshold
}
print("Found a face at (${face.midPoint.x}, ${face.midPoint.y}) with confidence ${face.confidence}");
}
Heart-rate monitoring
import'package:flutter_android/android_hardware.dart'showSensor, SensorEvent, SensorManager;
var sensor = awaitSensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE);
var events = await sensor.subscribe();
events.listen((SensorEvent event) {
print(event.values[0]);
});
Frequently Asked Questions
TODO
Caveats
iOS is not and cannot be supported.
All flutter_android APIs throw an AssertionError if they are invoked
when running on iOS. For cross-platform apps, we recommend that you depend
on the platform package to
conditionalize your use of Android APIs.