मुख्य सामग्री पर जाएँ
CrossFly 100% ओपन सोर्सGitHub पर फ़ॉलो करें
CrossFlyCrossFly
शुरू करें

यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।

Android 🤖

रन करना

gradlew :android:installDebug

AndroidLauncher (एक AndroidApplication) getMain(canStart) के ज़रिए Main बनाता है → new Main(canStart, getCommandline())।

⚠️ अनुमतियों के कारण विलंबित प्रारंभ

Android पर, आप आमतौर पर UI को तुरंत नहीं उठाते — पहले अनुमतियाँ माँगते हैं। यह पैटर्न:

// launcher में: canStart = false → UI अभी नहीं चढ़ती
initializeForView(getMain(false), config);
// … उपयोगकर्ता द्वारा अनुमतियाँ देने के बाद (callback) …
main.startApp(true);   // अब हाँ, UI चढ़ती है (delayed = true)

इस तरह, पहली स्क्रीन दिखने के समय कैमरा/GPS/Bluetooth पहले से ही अधिकृत होते हैं (देखें अध्याय 4 §4.2)।

मैनिफेस्ट और अनुमतियाँ

आप जो सुविधाएँ (कैमरा, स्थान, Bluetooth) उपयोग करते हैं, उनकी अनुमतियाँ AndroidManifest.xml में घोषित करें — और startApp(true) से पहले रनटाइम में माँगें।

स्टेटस बार और डेंसिटी

  • स्टेटस बार को लेआउट में शामिल किया जाता है (DeviceConfig.statusbarHeight)।
  • डेंसिटी: Screen.scale DPI को दर्शाता है; चूँकि आप Relative/फ़्रैक्शन उपयोग करते हैं, UI पहले से ही अनुकूलित हो जाती है।

Back बटन

भौतिक Back बटन को ऐप कैप्चर करता है (डिफ़ॉल्ट रूप से यह शीर्ष विंडो का hide() करता है — देखें विंडो स्टैक)।

पैकेजिंग

नेटिव .so लाइब्रेरीज़ (सहित crossfly-lib) ABI के अनुसार पैकेज की जाती हैं। साइनिंग/AAB और Play Store पर अपलोड: बिल्ड और वितरण।

सर्वोत्तम अभ्यास

  • startApp(true) से पहले अनुमतियाँ माँगें (विलंबित प्रारंभ) — टूटी हुई स्क्रीनों से बचता है।
  • विभिन्न डेंसिटी/स्क्रीनों पर परीक्षण करें; अनुकूलन के लिए Relative पर भरोसा करें।

सामान्य त्रुटियाँ

  • UI को उठाना (canStart=true) और उसके बाद ही अनुमति माँगना (पहली स्क्रीन पर सुविधा अनुपलब्ध)।
  • AndroidManifest.xml में अनुमति भूल जाना (रनटाइम अनुरोध चुपचाप विफल हो जाता है)।

यह भी देखें

क्या यह पृष्ठ उपयोगी था?